单选题
有以下程序:
#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);
}
程序的运行结果是______。
【正确答案】
B
【答案解析】[解析] 程序的执行过程为:定义整型数组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选项正确。