#include <stdio.h>
int main() {
// GBK编码的汉字字符串
char str[] = "你好,世界!";
int i = 0;
while (str[i] != '\0') {
// 判断当前字符是否是汉字的一部分(GBK中汉字的首字节最高位为1)
if ((unsigned char)str[i] > 127) {
// 输出一个汉字(2个字节)
printf("%c%c", str[i], str[i + 1]);
i += 2; // 跳过2个字节
} else {
// 输出单字节字符(如标点符号)
printf("%c", str[i]);
i += 1; // 跳过1个字节
}
}
printf("\n");
return 0;
}

1545

被折叠的 条评论
为什么被折叠?



