为什么这条两语句 b=sizeof(a+3.14); printf("b=%d\n",b);在vc6.0中输出的结果为8?

main()
{
int a=4, b;
b=a+sizeof(double)+sizeof(a+3.14);
printf("b=%d\n",b);
}
结果b为什么等于8?

b=a+sizeof(double)+sizeof(a+3.14);
=4 + 8 + 8 =20
应该输出20
double占8字节
3.14是double类型,所以a+3.14是double类型,占8字节
温馨提示:答案为网友推荐,仅供参考
相似回答