问题 单项选择题

有以下程序:
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。

单项选择题
多项选择题