C语言~ 想要的是选这个答案的原因~

C语言~ 想要的是选这个答案的原因~13题

第1个回答  2017-12-24
LZ,应该从“结构体”+“数组作为成员变量”的角度去理解,可以百度看一下相关概念;
言归正传,下面解释:
(1)题目定义了一个结构体person,里面有两个成员:字符数组和整形变量;
(2)然后花括号{}给结构体赋值初始化了,那么这么一个{}如何赋值呢?
前面的struct person class[10]的意思就是:新建了一个结构体数组,即,新建了一个数组,里面每一个元素都是person结构体。
(3)那么就好理解了,花括号{}的数据恰好分为{字符数组,整形变量,字符数组,整形变量,字符数组,整形变量,字符数组,整形变量,},也就是说存放了四个结构体元素,分别对应数组class[0]---[3];
(4)看需求,找“M”,那就是class[2]的数组元素才有,找一下里面的字符数组name,为name[0],选D。
第2个回答  2017-12-24
struct person class[10]={"John",17,"Paul",19,"Mary",20}
相当于
class[0].name="John"; class[0].age=17;
class[1].name="Paul"; class[1].age=19;
class[2].name="Mary"; class[2].age=20;
故先取第三个结构体的name域,再取第一个字符,就是M.
故选D.本回答被提问者采纳
第3个回答  2017-12-24
应该是d吧。因为数组下标是从零开始的。