问题
单项选择题
有以下程序:
main()
int a[3][3],*p,i;
p=&a[0][0];
for(i=0; i<9; i++) p[i]=i+1;
printf("%d\n", a[1] [2]);
程序运行后的输出结果是
A) 3
B) 6
C) 9
D) 2
答案
参考答案:B
解析: 本题的考查点是指向数组元素的指针变量的定义和赋值。所谓数组的指针是指数组的起始地址,数组元素的指针是数组元素的地址。p=&a[0][0]是把该数组的第一个元素的地址赋给指针变量p,而且此时指针变量p也是int型。a[1][2]刚好是数组中的第6个元素,此时也就是p所指的地址,所以输出结果是6。