问题 填空题

下列程序的运行结果是 【16】 。 main() { union EXAMPLE{ struct { int x;int y;}in; int a; int b;} e: e.a=1;e.b=2; e.in.x=e.a*e.b; e.in.y=e.a+e.b; printf("%d,%d\n",e.in.x,e.in.y); }

答案

参考答案:4,8

解析:[评析] C语言规定,共用体中各个成员变量在内存中占用同一段内存单元,即e.in.x和e.a、e.b占用同一段内存单元,由于e.in.x和e.a、e.b占用的是同、段内存单元,所以程序最后的打印结果为“4,8”。

选择题
单项选择题