问题
单项选择题
以下程序的输出结果是
#include<stdio.h>
int a[3][3]=1, 3, 5, 7, 9, 11, 13, 15, 17, , *p;
main()
p=(int *)malloc(sizeof(int));
f(p, a);
printf("%d\n", *p);
free(p);
f(int *s, int p[][3])
*s=p[1][1];
A) 1
B) 7
C) 9
D) 13
答案
参考答案:C
解析: 本题考查了二维数组元素引用的方法。题中用动态存储分配函数malloc分配了一个int型数据长度大小的内存,然后指针p指向这段内存,函数f()中对p所指向的数据进行了赋值,p[1][1]为二维数组第二行第二列的元素,对应于实参a的元素9,所以输出结果为9。