有以下程序: #include <stdio.h> struct S { int a, b; } data[2]={10,100,20,200}; main() { struct S p=data[1];   printf("%d\n", +

admin2020-10-26  20

问题 有以下程序:
#include   <stdio.h>
struct  S
{ int  a,  b; } data[2]={10,100,20,200};
main()
{ struct  S  p=data[1];
  printf("%d\n", ++(p.a) );
}
程序运行后的输出结果是(  )。

选项 A、10
B、11
C、20
D、21

答案D

解析 声明 data 是结构 S 数组。初始化  data[0].a=10; data[0].b=100;data[1].a=20;data[1].b=200。主函数中p=data[1] ; 即 p.a=data[1].a;p.b=data[1].b;执行语句printf("%d\n",++(p.a)); 打印输出时 p.a 先增1再打印。p.a = data[1].a=20,先增1 等于21。
转载请注明原文地址:https://kaotiyun.com/show/Ct3p777K
0

最新回复(0)