设有以下程序: struct st{int n;struct st*next;}; static struct st a[3]={5,&a[1],7,&a[2],9,’\0\},*p; p=&a[0];下面其值为6的表达式为______。

admin2009-02-15  26

问题 设有以下程序:    struct st{int n;struct st*next;};    static struct st a[3]={5,&a[1],7,&a[2],9,’\0\},*p;    p=&a[0];下面其值为6的表达式为______。

选项 A、p++->n
B、p->n++
C、(*p).n++
D、++p->n

答案8

解析 p指向数组的第1个元素,由于运算符->优先级高于运算符++,可知选项A应先取p->n的值5,再使p++指向下一个元素;选项B,先取p->n的值5作为表达式的值,再使 p->n的值加1;选项C与选项B等价:选项D,先使p->n的值增1(即值为6),再以此值作为表达式的值,本题应选择选项D。
转载请注明原文地址:https://kaotiyun.com/show/htXp777K
0

最新回复(0)