為什么C字符文字是INT而不是字符?在C+中,sizeof('a') == sizeof(char) == 1..這很直觀,因為'a'是一個字符文字,并且sizeof(char) == 1按照標(biāo)準(zhǔn)的定義。然而,在C語言中,sizeof('a') == sizeof(int)..也就是說,C字符文字實際上是整數(shù)。有人知道為什么嗎?我可以找到很多提到這個C怪癖,但沒有解釋為什么它存在。
3 回答

肥皂起泡泡
TA貢獻(xiàn)1829條經(jīng)驗 獲得超6個贊

炎炎設(shè)計
TA貢獻(xiàn)1808條經(jīng)驗 獲得超4個贊
void print(int);void print(char);print('a');
'ab'
int
'a'
char
.
- 3 回答
- 0 關(guān)注
- 662 瀏覽
添加回答
舉報
0/150
提交
取消