C小测验–112 |问题5

为以下程序选择最佳语句:

null

#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”。 答复: (C) 说明: 由于union的字段/成员共享相同的内存,因此i1和i2都指向相同的位置。此外,由于i1和i2都是同一类型,初始化其中一个也会隐式初始化另一个。所以答案是C。 这个问题的小测验

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享