c语言汉字判断
1. 求c语言高手!!!如何用if判断输入的汉字
用字符串比较函数strcmp()
#include <stdio.h>
#include <string.h>
int main()
{
char a[100] ; //定义一个字符串,数组,存储输入的汉字
scanf("%s",a); //输入一串汉字
if ( strcmp(a, "汉字" ) == 0 ) //等于0表示相等
{
printf("yes!\n");
}
else
{
printf("no!\n");
}
return 0;
}
2. C语言怎样判断用户输入的是中文
判断输入的是中文还是英文很简单:
1、首先,要确认数据类型是字符型。
2、英文或一些特殊字符的ASCII码小于0x7f。
3、中文是以区位码形式出现的,ASCII码大于0xa0。
比如:
#include <stdio.h>
#include<string.h>
int main()
{
char* ss="hello世界";
int i;
while(*str)
{
if((unsigned)*str>=161) {str+=2;i++;}
else str++;
}
printf("Chinese char number is:%d\n",i);
return 0;
}
3. 如何在c语言的中文字符串中判断是否存在特定的汉字
#include<stdio.h>
#include<string.h>
intmain()
{chars[200],s1[3];
inti;
printf("请输入一串汉字:");
scanf("%s",s);
printf("请输入要查找的一个汉字:");
scanf("%s",s1);
for(i=0;i<strlen(s);i+=2)
if(s[i]==s1[0]&&s[i+1]==s1[1])
{printf("您输入的第%d个汉字是%s
",i/2+1,s1);
break;
}
if(i>=strlen(s))printf("未找到!");
return0;
}
4. 关于c语言中判断汉字的问题
汉字用两个字节编码,且机内码的每字节最高位都是1。所以对于含有汉字的字符串a,可以用if(a[i]&0x80
&&
a[i+1]&0x80)来判断,若()内为真则为汉字,否则不是。
5. 关于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;
}
6. C语言里用什么函数判断汉字相同啊
首先一个汉字占2个字节,C语言一个char字符类型占1个字节,也就是在程序中汉字要当做字符串去处理。在C语言中就要用到char*指针或char[]字符数组来记录汉字。
判断相同,也就是字符串比较了,用string.h库中的strcmp(s1,s2)字符串比较函数解决判断相同问题。
示例程序:
#include<stdio.h>
#include<string.h>
voidmain()
{
charstr1[255];
char*str2="汉字";
printf("pleaseenterastring:");
scanf("%s",str1);
if(strcmp(str1,str2)==0){
//两字符串相同
}else{
//两字符串不同
}
}
strcmp(str1,str2)
C/C++函数,比较两个字符串
设这两个字符串为str1,str2,
若str1==str2,则返回零;
若str1>str2,则返回正数;
若str1<str2,则返回负数。
strcmp参考http://ke..com/link?url=LsUTlymy9OrKbwar-EfYc6uoRwy0IVkJ_-5bGxwCSc8odOsCjt_Qq
7. C语言判断汉字
#include<stdio.h>
intmain()
{inti;
unsignedchars[200];
scanf("%s",s);
for(i=0;s[i];i++)
if(s[i]>127)
{printf("汉字");
i++;
}
elseprintf("字母");
return0;
}
(7)c语言汉字判断扩展阅读
C++利用汉字的ASCII编码小于0的特性判断汉字
//coding:utf-8
#include"stdio.h"
intmain()
{
constchar*str="ENG汉字测试ddd";
for(inti=0;str[i]!='