关于结构体和联合的问题
#include<stdio.h>void main()
{
union exx
{
int a, b;
struct
{
int c,d;
}pp;
}e={30};
printf("%d,%d,%d,%d,%d\n",e.a,e.b,e.pp,e.pp.c,e.pp.d);
e.b=e.a+20;
printf("%d\n",e.b);
e.pp.c=e.a+e.b;
e.pp.d=e.a*e.b;
printf("%d,%d\n",e.pp.c,e.pp.d);
}
运行结果是
30,30,30,0,30
50
100,10000
想请问一下 e.a,e.b,e.pp,e.pp.c,e.pp.d 初始的值是怎么来的?