C小测验–112 |问题4

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

null

#include "stdio.h"
int main()
{
struct { int i; char c;} myVar = {.c = 'A' ,.i = 100};
printf ( "%d %c" ,myVar.i, myVar.c);
return 0;
}


(A) 编译错误,因为结构类型(包含两个不同类型的字段,即int和char)与该结构类型的myVar定义一起被提及。 (B) 由于myVar初始化的语法不正确,导致编译错误。基本上是操作员的成员(即dot.)已在没有myVar的情况下使用。 (C) 不仅B的编译错误,而且myVar中字段的顺序错误,即先初始化字段c,然后初始化字段i。 (D) 没有编译错误,它将打印100 A。 答复: (D) 说明: 根据C语言,完全数据类型变量的初始化可以在定义时完成。此外,根据C,可以使用字段名和不带myVar的点运算符无序初始化结构字段/成员。正确答案是D。 这个问题的小测验

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