问题
单项选择题
有以下程序: #include <stdio.h> 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
解析: 本题考查对外部存储类型的结构体变量进行初始化。初始化后,data[0]x的值为 10,data[0]y的值为100。输出++(p->x)时,++(p->x)就相当于++data[0].x,这时 data[0].x先自增,再使用,所以输出11。