不对
你理解
不对吧
楼主
#include <stdio.h>
int main(void)
{
char * str1 = "华";
printf("%c %c\n", str1[0], str1[1]);
printf("%c%c\n", str1[0], str1[1]);
printf("%d %d\n", str1[0], str1[1]);
/*putchar(str1[0]);
putchar(str1[1]);
putchar('\n');
putchar('\n');*/
printf("
哎呀
我靠");
char str2[5] = { -69, -86, -69, -86, 70 };
//-69对应“华”高字节编码,-86对应华低字节编码,连续输出刚输出一个“华”字符
printf("%c%c\n", str2[0], str2[1]);
printf("
哎呀
我靠");
printf("%c%c\n", str2[0], str2[3]);
printf("
哎呀
我靠");
//-69对应“籉”高字节编码,-86对应华低字节编码,连续输出刚输出一个“籉”字符
printf("%c%c\n", str2[0], str2[4]);
printf("
哎呀
我靠");
printf("%c%c%c%c\n", str2[0], str2[1], str2[2], str2[3]);
printf("
哎呀
我靠");
//也许没有字符集使用3个字节的方式,所以对3个连续的字符输出不会显示某种字符集下的一个字符。
//或者有但是C语言不支持???
//printf("%c%c%c\n", str2[0], str2[1], str2[2]);
//printf("%c%c%c\n", str2[2], str2[3], str2[4]);
return 0;
}
您可以试着编译一下