有以下程序段: struct st {int x;int*y;}*ps; int a[]:{1,2},b[]={3,4}; struct st c[2]={10,a,15,b}; ps=c; 以下选项中表达式的值为15的是( )。

admin2020-11-27  22

问题 有以下程序段:
struct st
{int x;int*y;}*ps;
int a[]:{1,2},b[]={3,4};
struct st c[2]={10,a,15,b};
ps=c;
以下选项中表达式的值为15的是(  )。

选项 A、++ps一>x
B、ps一>x
C、*ps一>y
D、(ps++)一>x

答案D

解析 定义的结构体中有两个变量,一个是整型变量,一个是整型指针;用此结构体定义了一个有两个元素的数组,并将此数组名赋给了此结构体指针,因此,结构体指针ps便指向了数组第一个元素,因此,++ps一>x=++(ps一>x)=11,ps一>x=10,*ps一>y=*(ps一>y)=1,(ps++)一>x=15。
转载请注明原文地址:https://kaotiyun.com/show/CK3p777K
0

最新回复(0)