关于联合的问题
一个联合应用的简单问题,如下:#include<stdio.h>
union A
{ char c;
int a;
float f;
}var;
main()
{
var.a=3.14;
printf("%d\n",var.c);
printf("%d\n",var.a);
printf("%f\n",var.f);
var.f=3.14;
printf("%d\n",var.c);
printf("%d\n",var.a);
printf("%f\n",var.f);
printf("%d\n",var.f);
}
运行结果:
3
3
0.000000
-61
-2621
3.140000
0
这是为什么啊?如何解释啊?希望高手给予帮助!谢谢!