我正在准备考试,我正在尝试解决一些练习问题。我已经为此工作了一段时间..但无法弄清楚。请看一下代码片段:
union {
int i;
short x;
unsigned short u;
float f;
} testout;
testout.i=0xC0208000;
在我问这个问题之前,有人可以向我解释一下上面的代码是如何工作的吗?我的猜测是,testout.i=0xC0208000
要么放入 int、short、unsigned short 或 float,然后将结果放入该地址。(?)
问题是如果我们写会打印什么printf("%d", testout.x)
?我知道我们应该期待数字......但我不知道他们从哪里得到数字......没有输出。
任何解释将不胜感激。谢谢!