有以下程序 #include <stdio.h> struct S{ int a; int *b;}; main() { int x1[ ]={3,4},x2[ ]={6,7}; st

admin2021-04-28  28

问题 有以下程序
      #include <stdio.h>
      struct S{ int a; int *b;};
      main()
      {   int x1[ ]={3,4},x2[ ]={6,7};
          struct S x[ ]={1,x1,2,x2};
          printf("%d,%d\n",*x[0].b,*x[1].b);
      }
程序的运行结果是

选项 A、1,2
B、3,6
C、4,7
D、变量的地址值

答案A

解析 程序的执行过程为:定义整型数组x1,x2并进行初始化,两个数组长度均为2。定义结构体数组x,并为其初始化,则x[0].a=1,x[0].b=x1, x[1].a=2,x[0].b=x2。输出x[0]的成员指针b指向的内存单元值,即数组x1的第一个元素3,输出x[1]的成员指针b指向的内存单元值,即数组x2的第一个元6。程序的运行结果是3,6,B选项正确。
转载请注明原文地址:https://kaotiyun.com/show/Wjtp777K
0

最新回复(0)