0
爲什麼這個程序的輸出4而不是1?
void main()
{
printf("%d",int(sizeof('z')));
}
'z'是一個字符並且sizeof('z')
必須打印1?
爲什麼這個程序的輸出4而不是1?
void main()
{
printf("%d",int(sizeof('z')));
}
'z'是一個字符並且sizeof('z')
必須打印1?
'z'
是一個字符文字,而在C中,字符文字的類型是int
。因此sizeof('z')
等於sizeof(int)
在您的實施。
或許令人驚訝的,字符 常量C是int類型,所以
sizeof('a')
是sizeof(int)
一個提示:'炭CH = 'Z'; printf(「%d」,sizeof ch);' – 2011-05-28 18:59:30
@tjm我認爲這是 - 很好的發現。 (和投票)。 – 2011-05-28 19:01:20
關於SO搜索工具的無用性,我知道我有很高的代表答案,但仍無法找到它! – 2011-05-28 19:02:14