因為漢字占一個以上字節,如何統計一個既有漢字又有字母的字符串呢?
漢字在計算機中的ASCII是以負數來與其他普通字符的ASCII區分的。
#include<stdio.h> int main() {char buf[256] = "你好世界";printf("%d\n",buf[0]); //-60return 0; }
所以想要統計混合字符串中字符個數,就要用到這個特性。
#include<stdio.h>int main() {char buf[256] = "你好abc";int iLen = 0;int bufSize = 0;while(buf[iLen]){if(buf[iLen] < 0){iLen++;// continue; }iLen++; bufSize++;}printf("%d",bufSize); }
輸出結果:5