A-A+
有以下程序: #include <stdio.h> struct s { int x y;}
问题详情
有以下程序: #include <stdio.h> struct s { int x,y;} data[2]={10,100,20,200}; main() { struct s *p=data; printf("%dn",++(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。