问题 单项选择题

有以下程序:
main()
int a[3][3],*p,i;
p=&a[0][0];
for(i=0;i<9;i++)p[i]=i;
for(i=0;i<3;i++)printf("%d",a[1][i]);

程序运行后的输出结果是______。

答案

参考答案:D

解析: 本题的考点是C语言的指针。p指向二维数组a的首地址,而二维数组是按行存放的。因此“for(i=0;i<9;i++)p[i]=i;”的结果是等价于a[3][3]={0,1,2,3,4,5,6,7,8},也就是a[3][3]={{0,1,2},{3,4,5},{6,7,8}

填空题
单项选择题