问题 单项选择题

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

填空题
单项选择题