读书人

本人初学者。请问个有关问题

发布时间: 2012-02-17 17:50:42 作者: rapoo

本人菜鸟。。请教个问题!
union{
int a;
float b;
char c;
}x;
x.a=258;
printf("\n%d",x.c);

这个应该输出多少?
本人新手,望详细点

[解决办法]
答案是2
union公用内存空间,因为x.a=258,因此内存布局为00000000 00000000 00000001 00000010
char c只占用一个字节,因此C为 00000010,即 c=2
[解决办法]

探讨
答案是2
union公用内存空间,因为x.a=258,因此内存布局为00000000 00000000 00000001 00000010
char c只占用一个字节,因此C为 00000010,即 c=2

读书人网 >C++

热点推荐