1樓:網友
這是跟漢字的儲存方式有關,西文字元用ascii碼的話,一個位元組可以表示一個字元,而漢字用的是雙位元組表示一個漢字。
那麼,為了在機器內部區分ascii碼和漢字機內碼,就規定漢字的兩個位元組的最高為都為1.
例如:漢字「啊」的漢字機內碼為b0a1h
表示成雙位元組是這樣的10110000 10100001本程式用的就是判斷最高位的方法。
int is_zh_ch(char p)
return -1;}
如何在c語言的中文字串中判斷是否存在特定的漢字
c語言:怎麼用if()判斷輸入的漢字是否是要求的漢字
2樓:匿名使用者
定義一個字串就可以為了。
然後用strcpy()比較。
#include
#include
int main(void)
c語言判斷輸入的字串?
c語言如何判斷輸入的字串中是否含有數字
3樓:若冰炎
#include
int main()
if(count)
printf("輸入的字串中含有數字,且有%d個",count);
return 0;
}ps:數字0-9在acs碼中對應的值為48~57
c語言如何判斷輸入的字串是否有漢字?
c語言如何判斷輸入的字串等於某個字串
4樓:匿名使用者
1)最前面加 #include
2)然後把你的enter修改成 char enter[18];
3)然後輸入不應該是用%c而是%s
4)比較**是。
if(strcmp(enter,"想比較的字串")=0)else
5樓:忙碌小學生
字串比較函式strcmp包含在標頭檔案內字串比較函式strcmp
格式: strcmp(字元陣列名1,字元陣列名2)功能:按照ascii碼順序比較兩個陣列中的字串,並由函式返回值返回比較結果。
字串1=字串2,返回值=0;
字串2〉字串2,返回值〉0;
字串1〈字串2,返回值〈0。
c語言中如何判斷中文字元
6樓:
漢字用兩個位元組編碼,且機內碼的每位元組最高位都是1。所以對於含有漢字的字串a,可以用if(a[i]&0x80 &&a[i+1]&0x80)來判斷,若()內為真則為漢字,否則不是。
7樓:
比較字元的。
#include //比較函式strcmp(char *str1,char *str2);的標頭檔案。
void main()
8樓:金魚
判斷輸入的是中文還是英文很簡單:
1、首先,要確認資料型別是字元型。
2、英文或一些特殊字元的ascii碼小於0x7f。
3、中文是以區位碼形式出現的,ascii碼大於0xa0。
比如:#include
#include
int main()
else str++;
}printf("chinese char number is:%d",i);
return 0;}
9樓:匿名使用者
直接輸入丫,和英文一樣是字串。
10樓:匿名使用者
和文字表示方法有關。西文字元一個位元組(char)就可以表示(ascii碼中包括了所有的西文字元),因為一個char只有8位,最多表示256個文字,因此而非西文字元的文字(unicode)全部用兩個位元組表示,機器內部的最小儲存單位是位元組,為了區分連續的兩個char表示的是一個unicode還是兩個西文字母,規定unicode碼的兩個位元組的最高位都是1。
if(~(p >>8) =0) return 0;的意思是,將char p的符號位(char為8位,即最高位)右移,若是unicode則p>>8後為1111 1111,然後按位取反為0
其實原理上面說過了,unicode碼最高位為1,即符號位為1,上面的**和下面的等價:
int is_zh_ch(char p)
11樓:node海
去這裡看看吧。根據編碼範圍 來判斷,
c語言如何判斷輸入的是整數還是字串
C語言 輸入字串,然後逆序輸出
橘落淮南常成枳 可以將整數當做字串 字串長度不超過10 接收,然後反向輸出字元陣列元素即可。字串實際長度可以用strlen函式來計算。方法程式如下 include include main 杜哥是個小天才 include int main int len,i char str 100 gets st...
C語言字串問題,C語言字元陣列與字串問題
字串初始化,如果逐個賦值的話,系統不是會自動新增 0 嗎不是。圖一就是長度為4的陣列,圖二長度為5圖三會是新增 0,但是是會把後面所有的都設為 0因為圖一和圖四不以 0結尾,所以不能用strlen和strcmp,會越界 圖四也可以用char str 4 stop 這樣賦值。如果不手動加長度就會是5了...
c語言輸入字串,將該字串中從第m個字元開始的全部字元複製到另字串
大野瘦子 這樣 include include int main void copystr char char int int m char str1 20 str2 20 printf input string gets str1 printf which character that begin...