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

admin2022-04-01  25

问题 有以下程序:
 #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://jikaoti.com/ti/P8d0FFFM
0

最新回复(0)