【发布时间】:2015-06-13 11:20:52
【问题描述】:
#include <stdio.h>
int main(){
printf("%d\t",sizeof(6.5));
printf("%d\t",sizeof(90000));
printf("%d\t",sizeof('a'));
return 0;
}
当我编译我的代码时,输出将是:“842”。 有人可以解释为什么我会得到这个输出吗?
【问题讨论】:
-
你期望什么输出?
-
请注意,您的代码甚至无法按原样编译,这让我认为这不是您的实际代码。我也期望“8 4 1”,除非您的编译器启用了宽字符支持。
-
@PaulR:我希望最后一个数字是“4”,因为
'a'(奇怪的是)是int类型(而不是人们可能合理假设的char) ... -
@RobertWalton 请复制并粘贴您的真实代码,而不是输入一些内容并弄错