问题
单项选择题
有以下程序:
struct s
int x,y;) data[2]=10,100,20,200;
main()
struct s *p=data;
printf(%d\n",++p->x));
程序运行后的输出结果是()。
A.10
B.11
C.20
D.21
答案
参考答案:B
解析: 本题的考查点是结构体变量的初始化。该题是一个对外部存储类型的结构体变量进行的初始化。初始化后,x的值为10,y的值为100。++(p→x)中首先p→x是把p指向结构体变量s中的x成员,此++(p→x)就相当于++x,这时x先自增,再使用,所以此时x的值为11。故本题答案为B) 。