返回信息流union Test
{
char a[4];
short b;
};
Test test;
test.a[0]=256;
test.a[1]=255;
test.a[2]=254;
test.a[3]=253;
printf("%d\\n",test.b);
问题:在80X86架构下,输出什么值?
VS输出结果是-256,但是不懂原理。
请大家指导指导。
另外:
Test test;
test.a[0]=256;
printf("%d\\n",test.b);
这样输出结果是-13312.
Test test;
test.a[1]=255;
test.a[2]=254;
test.a[3]=253;
printf("%d\\n",test.b);
这样输出结果是-52.
请大家指导指导。
另外,我想问问类似这样(union、struct)的题,如何判断输出值?
这是一条镜像帖。来源:北邮人论坛 / cpp / #73463同步于 2013/8/27
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
[问题]关于union中未定义变量的输出值问题
wwkk123
2013/8/27镜像同步4 回复
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复