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]!='