问题 单项选择题

有以下程序:
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) 。

单项选择题 B型题
名词解释