问题 单项选择题

有以下程序  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指向二维数组的起始地址,for循环中,i从0到8分别对应a[0][0],a[0][1],a[0][2],a [1][0],…,a[2][2]。根据p[i]=i+1可知,他们的值分别为1,2,…,9。

单项选择题
单项选择题