C/C+中字符(A)的大小C和C+中字符的大小是多少?據(jù)我所知,C和C+中字符的大小都是1字節(jié)。在C中:#include <stdio.h>int main(){
printf("Size of char : %d\n",sizeof(char));
return 0;}在C+中:#include <iostream>int main(){
std::cout<<"Size of char : "<<sizeof(char)<<"\n";
return 0;}沒有任何意外,它們都給出了輸出:Size of char : 1現(xiàn)在我們知道字符被表示為'a','b','c','|'.。所以我把上面的代碼修改為:在C中:#include <stdio.h>int main(){
char a = 'a';
printf("Size of char : %d\n",sizeof(a));
printf("Size of char : %d\n",sizeof('a'));
return 0;}產(chǎn)出:Size of char : 1Size of char : 4在C+中:#include <iostream>int main(){
char a = 'a';
std::cout<<"Size of char : "<<sizeof(a)<<"\n";
std::cout<<"Size of char : "<<sizeof('a')<<"\n";
return 0;}產(chǎn)出:Size of char : 1Size of char : 1為什么sizeof('a')在C和C+中返回不同的值?
3 回答

躍然一笑
TA貢獻(xiàn)1826條經(jīng)驗(yàn) 獲得超6個(gè)贊
'a'
int
char

犯罪嫌疑人X
TA貢獻(xiàn)2080條經(jīng)驗(yàn) 獲得超4個(gè)贊
'a'
int
char

拉丁的傳說
TA貢獻(xiàn)1789條經(jīng)驗(yàn) 獲得超8個(gè)贊
void foo(char c){ puts("char");}void foo(int i){ puts("int");}int main(){ foo('i'); return 0;}
char
- 3 回答
- 0 關(guān)注
- 738 瀏覽
添加回答
舉報(bào)
0/150
提交
取消