C sizeof(';z';)结果意外
可能重复:C sizeof(';z';)结果意外,c,sizeof,C,Sizeof,可能重复: 为什么这个程序输出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) 提示:charch='z';printf(“%d”,ch尺寸)@tjm我
为什么这个程序输出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)
提示:
charch='z';printf(“%d”,ch尺寸)代码>@tjm我想这是个不错的发现。(还有投票)。关于搜索工具的无用性,它说了些什么?我知道我对此有很高的代表性,但仍然找不到它!事实上,这个骗人的答案是我的!但是我找不到它。@Neil,我不知道SO搜索,但是如果你用谷歌搜索“c sizeof character”,它会作为第一个结果出现