📜  C测验– 112 |问题5

📅  最后修改于: 2021-05-25 23:51:02             🧑  作者: Mango

选择以下程序的最佳陈述:

#include "stdio.h"
  
int main()
{
 union {int i1; int i2;} myVar = {.i2 =100};
 printf("%d %d",myVar.i1, myVar.i2);
 return 0;
}

(A)由于初始化语法不正确而导致编译错误。
(B)没有编译错误,它将显示“ 0 100”。
(C)没有编译错误,它将显示“ 100 100”。答案: (C)
说明:由于联合的字段/成员共享相同的内存,因此i1和i2都引用相同的位置。另外,由于i1和i2属于同一类型,因此初始化一个会隐式地初始化另一个。因此答案是C。
这个问题的测验

想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。