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

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

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