c语言如何判断字符串中有几个中文,下面代码意思

#include <stdio.h>
int main()
{
for (;;){
char s[100];
int i,n=0;
gets(s);
for(i=0;s[i];i++) //啥意思
if(s[i]<0) //啥意思
i++,n++;
printf("%d\n",n);
}
return 0;
}

or(i=0;s[i];i++) //扫描整个字符串
if(s[i]<0) //汉字的ASCII码属于“扩展ASCII码,其每个字符的码值大于127,由于字义的是char数组,每个元素的表示范围为-128~+127,所以,大于127的字符在char中表现为负数。
i++,n++; //判断为一个汉字,由于每个汉字占两个字节,所以这里先i+1,再记录汉字数n也加1
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-12-10
#include <stdio.h>
int main()
{char s[200];
int i,n=0;
gets(s);
for(i=0;s[i];i++)
if(s[i]<0){i++;n++;}
printf("\"%s\"中含有%d个中文\n",s,n);
return 0;
}
相似回答