若有以下定义和语句 struct st{ int n; struct st *next; }; struct st a[3] = { 5,&a[0], 6,&a[1], 7,&a[2] }, *p; p=&a[0]; 则值为6的表达式是(提示:运算符->的

admin2019-12-17  20

问题 若有以下定义和语句
struct st{ int n; struct st *next; };
struct st a[3] = { 5,&a[0], 6,&a[1], 7,&a[2] }, *p;
p=&a[0];
则值为6的表达式是(提示:运算符->的优先级高于++)( )。

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

答案A

解析 语句"p=&a[0];"表示将指针p指向了结构体数组a的首地址,所以(++p)->n值为6,p++->n相当于p->n,p++,值为5,p->n++值为5,(*p).n++相当于p->n++,值为5,答案选A。
转载请注明原文地址:https://jikaoti.com/ti/RHG0FFFM
0

最新回复(0)