c语言如何判断汉字(c语言如何判断汉字是什么)


如何在c语言的中文字符串中判断是否存在特定的汉字

#includestdio.h

#includestring.h

int main()

{char s[200],s1[3];

 int i;

 printf(“请输入一串汉字:”);

 scanf(“%s”,s);

 printf(“请输入要查找的一个汉字:”);

 scanf(“%s”,s1);

 for(i=0;istrlen(s);i+=2)

   if(s[i]==s1[0]s[i+1]==s1[1])

     {printf(“您输入的第%d个汉字是%sn”,i/2+1,s1);

      break;

     }

 if(i=strlen(s))printf(“未找到!”); 

 return 0;

}

关于c语言中判断汉字的问题

这是跟汉字的存储方式有关,西文字符用ASCII码的话,一个字节可以表示一个字符,而汉字用的是双字节表示一个汉字。

那么,为了在机器内部区分ASCII码和汉字机内码,就规定汉字的两个字节的最高为都为1.

例如:汉字“啊”的汉字机内码为B0A1H

表示成双字节是这样的10110000

10100001

本程序用的就是判断最高位的方法。

int

is_zh_ch(char

p)

{

if(~(p

8)

==

0)

将p字节进行移位运算,右移8位,这样,如果移位后是0,则说明原来的字节最高位为0,不是1那么也就不是汉字的一个字节。

{

return

0;

//代表不是汉字

}

return

-1;

}

C语言中如何判断中文字符?

测试过了,你看看怎么样吧

#includestdio.h

int main(void)

{

char s[20];

int i,j;

char a,c[3];

FILE * fp;

scanf(“%s”,s);

fp=fopen(s,”r”);

if(!fp){

printf(“open errorn”);

return 1;

}

i=0;

c[2]=’’;

while((a=fgetc(fp))!=EOF){

if(a0x80){

c[i]=a;

i++;

if(i==2){

printf(“%s 是汉字n”,c);

i=0;

}

}

else i=0;

}

getchar();

getchar();

return 0;

}

c语言如何判断汉字(c语言如何判断汉字是什么)

C语言怎样判断用户输入的是中文?

判断输入的是中文还是英文很简单:

1、首先,要确认数据类型是字符型。

2、英文或一些特殊字符的ASCII码小于0x7f。

3、中文是以区位码形式出现的,ASCII码大于0xa0。

比如:

#include stdio.h

#includestring.h

int main()

{

char* ss=”hello世界”;

int i;

while(*str)

{

if((unsigned)*str=161) {str+=2;i++;}

else str++;

}

printf(“Chinese char number is:%dn”,i);

return 0;

}

C语言判断汉字

#includestdio.h

intmain()

{inti;

unsignedchars[200];

scanf(“%s”,s);

for(i=0;s[i];i++)

if(s[i]127)

{printf(“汉字”);

i++;

}

elseprintf(“字母”);

return0;

}

扩展资料

C++利用汉字的ASCII编码小于0的特性判断汉字

//coding:utf-8

#include”stdio.h”

intmain()

{

constchar*str=”ENG汉字测试ddd”;

for(inti=0;str[i]!=’’;i++)

{

charch=str[i];

if(ch0)

{

printf(“Y”);

i=i+2;

}

else

{

printf(“N”);

}

}

//Output:NNNYYYYNNN

return0;

}

该文章由作者:【贝妮】发布,本站仅提供存储、如有版权、错误、违法等相关信息请联系,本站会在1个工作日内进行整改,谢谢!

发表回复

登录后才能评论