一个很简单的共用体类型的代码,但我不知道其中一点
下面是一个很简单的代码:#include<stdio.h>
union DATA
{
int i;
float b;
char c;
};
union DATA a;
void main()
{
a.i=97;
printf("浮点数:%f",a.b);
printf("字符:%c",a.c);
}
这里的代码很容易理解的,但有一个地方(加颜色的部分)我不是很明白,在函数中,我对i赋值为97,然后想输出浮点数b,我以为输出的会是97.000000,但实际上却是0.000000,为什么会这样?能帮我具体解释一下吗?而且无论对i赋任何值,输出的浮点数b都是0.000000,何解?