为什么联合体的赋值顺序不同 运行结果不同
例如:#include
union time
{ time A,B,C
A.a=2004; //D
A.b=3; //E
A.c=20; //F
B.a=A.a; //d
C.a=A.a; //e
B.b=A.b; //f
C.b=A.b;
B.c=A.c-1;
C.c=A.c+1;
cout<cout<为什么D句与F句调换后 前三项显示的结果为2003 后三项显示的结果为2005
2010-08-11 14:30
程序代码:
int main(int argc, char *argv[])
{
union {
int a;
int b;
} un;
un.a = 5;
un.b = 3;
printf("%d\n", un.a);
un.b = 3;
un.a = 5;
printf("%d\n", un.a);
return 0;
}
2010-08-11 16:48