C语言~ 想要的是选这个答案的原因~
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励20(财富值+成长值)
3个回答
2017-12-24
展开全部
LZ,应该从“结构体”+“数组作为成员变量”的角度去理解,可以百度看一下相关概念;
言归正传,下面解释:
(1)题目定义了一个结构体person,里面有两个成员:字符数组和整形变量;
(2)然后花括号{}给结构体赋值初始化了,那么这么一个{}如何赋值呢?
前面的struct person class[10]的意思就是:新建了一个结构体数组,即,新建了一个数组,里面每一个元素都是person结构体。
(3)那么就好理解了,花括号{}的数据恰好分为{字符数组,整形变量,字符数组,整形变量,字符数组,整形变量,字符数组,整形变量,},也就是说存放了四个结构体元素,分别对应数组class[0]---[3];
(4)看需求,找“M”,那就是class[2]的数组元素才有,找一下里面的字符数组name,为name[0],选D。
言归正传,下面解释:
(1)题目定义了一个结构体person,里面有两个成员:字符数组和整形变量;
(2)然后花括号{}给结构体赋值初始化了,那么这么一个{}如何赋值呢?
前面的struct person class[10]的意思就是:新建了一个结构体数组,即,新建了一个数组,里面每一个元素都是person结构体。
(3)那么就好理解了,花括号{}的数据恰好分为{字符数组,整形变量,字符数组,整形变量,字符数组,整形变量,字符数组,整形变量,},也就是说存放了四个结构体元素,分别对应数组class[0]---[3];
(4)看需求,找“M”,那就是class[2]的数组元素才有,找一下里面的字符数组name,为name[0],选D。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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.
相当于
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.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该是d吧。因为数组下标是从零开始的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询