c++大小寫字母轉(zhuǎn)換 C語言中如何判斷中文字符?
C語言中如何判斷中文字符?這與漢字的存儲(chǔ)方式有關(guān)。如果西文字符是ASCII,一個(gè)字節(jié)可以代表一個(gè)字符,而中文字符是雙字節(jié)。然后,為了區(qū)分機(jī)器中的ASCII碼和漢字內(nèi)部碼,規(guī)定漢字兩個(gè)字節(jié)的最大值為1。
C語言中如何判斷中文字符?
這與漢字的存儲(chǔ)方式有關(guān)。如果西文字符是ASCII,一個(gè)字節(jié)可以代表一個(gè)字符,而中文字符是雙字節(jié)。然后,為了區(qū)分機(jī)器中的ASCII碼和漢字內(nèi)部碼,規(guī)定漢字兩個(gè)字節(jié)的最大值為1。例如,漢字“ah”的內(nèi)部代碼是b0a1h,這意味著它是雙字節(jié)的。本程序采用判斷最高位的方法。int是zh_uch(char P){if(~(P>> 8)==0)將P字節(jié)右移8位。這樣,如果移位后是0,就意味著原來字節(jié)的最高位是0,而不是1,那就不是漢字的字節(jié)了。{return 0//不是漢字}return-1}
1。在C語言中,您可以將漢字作為字符串輸入。
由于一個(gè)漢字占用兩個(gè)字節(jié),所以漢字的操作只能以兩個(gè)字節(jié)為操作單位。
2. 下面是一個(gè)具體的例子來說明C語言中漢字的用法:
char s[]=“capital Beijing”//將漢字賦給字符數(shù)組
char S2[20]//定義字符數(shù)組來存儲(chǔ)用戶輸入的漢字
scanf(%s“,S2)//接收用戶輸入的漢字
printf(%dn,sizeof(s))//計(jì)算字符數(shù)組s占用的內(nèi)存單元,輸出9(最后一個(gè)字節(jié)是結(jié)束字符“0”)輸出用戶輸入的漢字