问题
单项选择题
有以下程序:
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)。