问题 单项选择题

以下程序运行后,输出结果为______。
main()

int a[2][3]1,3,5,7,9,11*s2]**pp,*p;
s[0]=a[0],s[1]=a[1]
pp=s
p=(int*)malloc(sizeof(int));
**pp=s[1][1];
p=*pp;
printf("%d\n",*p);

A.1

B.7

C.9

D.11

答案

参考答案:C

解析:[评析] s是—个含有两个元素的指针数组,pp是—个指向指针变量的指针,s[0]是指向二维数组a行下标为0的元素的首地址,即a[0][0]的地址,s[1]为a[1][0]的地址。pp的值为s[o]的地址。*pp=s[1][1])后,a[0][0]的值将被赋值为a[1][1]的值,执行p*pp;后,p中将是s[0]的值,最后的输出语句将输出地址s[0])所指向的数据,即时a[0][0]。

选择题
单项选择题 A1/A2型题