C语言判断汉字

Python013

C语言判断汉字,第1张

#include<stdio.h>

intmain()

{inti

unsignedchars[200]

scanf("%s",s)

for(i=0s[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=0str[i]!='\0'i++)

{

charch=str[i]

if(ch<0)

{

printf("Y")

i=i+2

}

else

{

printf("N")

}

}

//Output:NNNYYYYNNN

return0

}

汉字用两个字节编码,且机内码的每字节最高位都是1。所以对于含有汉字的字符串a,可以用if(a[i]&0x80 &&a[i+1]&0x80)来判断,若()内为真则为汉字,否则不是。

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

#include<stdio.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 error\n")

return 1

}

i=0

c[2]='\0'

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

if(a&0x80){

c[i]=a

i++

if(i==2){

printf("%s 是汉字\n",c)

i=0

}

}

else i=0

}

getchar()

getchar()

return 0

}