#547: 請教關於字元陣列長度的問題


jacky0102 (阿奇)

學校 : 不指定學校
編號 : 2382
來源 : [122.125.89.52]
最後登入時間 :
2008-11-13 13:55:21
a008. 中文大寫數字 -- admin | From: [122.125.80.194] | 發表日期 : 2008-08-29 16:38

我知道一個中文字為2個字元,C++利用空字元('\0')來辨別字元陣列是否為字串,所以一個中文字+'\0'為3個字元。所以這題我這樣宣告字元陣列:

    int i,a=0;
    int b[10]={0};
    char c[10][3]={"零","壹","貳","參","肆","伍","陸","柒","捌","玖"};                  
    char d[4][3]={"","拾","佰","仟"};

系統回我.....:initializer-string for array of chars is too long ,改成c[10][4] d[4][4] 她才放行;

請問這種狀況是什麼原因呢? 初學者比較多問題請大家包含,或者有什麼地方可以尋找答案的請推薦一下;謝謝~

 
#709: Re:請教關於字元陣列長度的問題


oldherl (oldherl)

學校 : 河北省唐山市第一中学
編號 : 2831
來源 : [121.20.244.29]
最後登入時間 :
2008-11-03 08:59:09
a008. 中文大寫數字 -- admin | From: [121.20.240.79] | 發表日期 : 2008-10-20 22:26

 我知道一個中文字為2個字元,C++利用空字元('\0')來辨別字元陣列是否為字串,所以一個中文字+'\0'為3個字元。

 一个汉字到底占用多少byte会因为采用的编码不一样而变化,比如GB2312和Big5都是2byte,而UTF-8中却是3byte等。

 
ZeroJudge Forum