根据下面的定义,能打印出字母M的语句是( )。 struct person { char name[9]; int age; }; struct person class[10]={"John",17,"Paul

admin2013-02-23  29

问题 根据下面的定义,能打印出字母M的语句是(  )。    struct person    {    char name[9];    int age;    };     struct  person  class[10]={"John",17,"Paul",19,"Mary",18,"Adam",16};

选项 A、printf("%c\n",class[3].name};
B、printf("%c\n",class[2].name[0]);
C、printf("%c\n",class[3].name[1]);
D、printf("%c\n",class[2].name[1]);

答案2

解析 在结构体数组class[10]的初始化列表中只有第5个初始值中包含大写字母M,而该结构体只有两个成员变量,所以每两个初始值初始化一个数组元素,故第5个初始值是属于第3个数组元素class[2]的前一个成员变量的,选项A和C不正确。又因为‘M’是“Mary”的第一个元素,所以应该输出class[2]的name[0],B是正确答案。
转载请注明原文地址:https://jikaoti.com/ti/kSn0FFFM
0

最新回复(0)