A-A+

若有以下说明和语句: struct st{int n;char*ch;}; struct s

2022-08-06 01:41:35 问答库 阅读 174 次

问题详情

若有以下说明和语句: struct st{int n;char*ch;}; struct st a[3]={5,"abc",7,"def",9,"ghk"},*p=a; 则值为6的表达式是______。
A.p++->n
B.p->n++
C.(*p).n++
D.++p->n请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:D
解析:根据结构变量的存储特点,p+1意味着增加地址值为结构体数组a的一个元素所占的字节数,即p++使p由a[0]指向a[1]起始地址。本题++p->n得到p指向的结构体变量中成员n的值使之加1。因为p指向数组a起始地址,p->n的值为5,再掏打自加1运行,结果为6。

考点:语句