为以下程序段选择最佳的语句:
struct {int a[2];} arr[] = {1,2};
(A)没有编译错误,它将创建2个元素的数组arr。 arr的每个元素都包含一个由2个元素组成的int数组的struct字段。 arr [0]。 a [0]将为1,而arr [1] .a [0]将为2。
(B)没有编译错误,它将创建2个元素的数组arr。 arr的每个元素都包含一个由2个元素组成的int数组的struct字段。 arr [0]。 a [0]将为1,而arr [0] .a [1]将为2。第二个元素arr [1]将为零,即arr [1] .a [0]和arr [1] .a [1 ]为0。
(C)没有编译错误,它将创建1个元素的数组arr。 arr的每个元素都包含一个由2个元素组成的int数组的struct字段。 arr [0]。 a [0]将为1,而arr [0] .a [1]将为2。答案: (C)
说明:由于未明确给出数组arr的大小,因此将根据此处的初始化来决定。如果没有大括号,则将arr顺序初始化,即arr [0] .a [0]将为1,而arr [0] .a [1]将为2。没有进一步的初始化,因此arr的大小将为1。正确答案是C。
这个问题的测验
想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。