A-A+

设有以下程序: struct st{int n;struct st*next;}; stat

2022-08-06 01:49:39 问答库 阅读 174 次

问题详情

设有以下程序: struct st{int n;struct st*next;}; static struct st a[3]={5,&a[1],7,&a[2],9,"},*p; p=&a[0];下面其值为6的表达式为______。
A.p++->n
B.p->n++
C.(*p).n++
D.++p->n请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:D
解析:p指向数组的第1个元素,由于运算符->优先级高于运算符++,可知选项A应先取p->n的值5,再使p++指向下一个元素;选项B,先取p->n的值5作为表达式的值,再使p->n的值加1;选项C与选项B等价:选项D,先使p->n的值增1(即值为6),再以此值作为表达式的值,本题应选择选项D。

考点:程序