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

admin2022-10-24  11

问题 有以下程序:
 #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,先增,等于21。故本题答案为D选项。
转载请注明原文地址:https://kaotiyun.com/show/nxkp777K
0

最新回复(0)