看看这一段程序,怎么结果会是2,怎么看都不明白! main() { union{ char i[2]; int k; } r; r.i[0]=2;
r.i[1]=0; printf("%d",r.k); getch();
} 就我的理解是:开始把2赋值给r.i[0],因为是共用型,把0赋值给r.[1]时就破坏了r.l[0]的值,以后就没有2了只有0,这究竟是怎么回事?