中文汉字(包括中文标点符号)都是占两个字节的。
所以,你比较的时候,要这样:
#include
#include
int main()
{
char a[100];
char *p=a;
printf("请输入诗的内容\n");
gets(a);
size_t k=strlen(a);
printf("\n");
for(int i=0;i
printf("%c",*p);
if(((*(p-1)==(char)0xa3) && (*p==(char)0xac))//中文逗号
||((*(p-1)==(char)0xa1) && (*p==(char)0xa3))) //中文句号
{
printf("\n");
}
}
}
你这个能输出中文吗?
如果能,把','和'.'换成','和'。'。
使用unicode编码方式编译运行应该可以,程序需要修改。
中文使用双字节编码
如果是GB码的话,那两个字节都是>128,而标准ASCII码都是<128 可以通过这个来判断是不是汉字
以及汉字是不是结束