【发布时间】:2013-10-19 12:38:40
【问题描述】:
为什么下面程序的输出是 4?
#include <stdio.h>
int main()
{
printf("%d\n", sizeof('3'));
return 0;
}
【问题讨论】:
-
因为
'x'文字是ints,而不是chars。 -
这可能会有所帮助:Size of character ('a') in C/C++
-
@Shanpriya:是什么促使您提出这个问题?你期望这个程序输出什么?为什么?
-
@AndreyT :我认为声明为 sizeof('3') 或 sizeof('a') 因为值用单引号括起来我认为它们的意思是字符会导致输出为 1 而不是4.
-
谢谢@Jost 它确实有帮助