有以下程序: #include struct S{int a;int*b;}; main() {int x1[]={3,4},x2[]={6,7}; struct S x[]={1,x1,2,x2}; pri

admin2020-07-28  16

问题 有以下程序:
    #include
    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、变量的地址值

答案B

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

最新回复(0)