printf("i=%d",i);????//结果是多少96还是69
union data
{
int i;
char c;
} a;
a.c = 'a';
printf("i=%d",i);
[解决办法]
a.c = 'a'把一个字节写为0x61 , 高位的3个字节因为a没有初始化,应该是乱码,所以a.i的值也是无意义的。即使初始化了a,a.i的值也取决于机器的大小端。