求助:关于联合
程序代码:
#include <stdio.h> union number { int x; float y; }; void main() { union number value; value . x = 100; printf("%s%d\n%s%f\n", "int:", value . x, "float:", value . y); value . y = 100.0; printf("%s%d\n%s%f\n", "int:", value . x, "float:", value . y); return ; }
输出结果为:int:100
float:0.000000
int:1120403456
float:100.000000
为什么第二次输出的 x 值不是100呢?