若有以下程序段 struct st{ int n; struct st *next; }; struct st a[3]={ 5,&a[1],7,&a[2],9,’\0’ }, *p; p=&a[0]; 则以下选项中值为6的表达式是( )。

admin2015-07-28  30

问题 若有以下程序段
struct st{ int n; struct st *next; };
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

答案A

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

最新回复(0)