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

admin2013-06-11  20

问题 有以下程序:    main()    {  int a[3][3],*p.i;       p=&a[0][0];       for(i=0;i<9;i++)p=i;       for(i=0;i<3;i++)printf("%d",a[1]);    }    程序运行后的输出结果是(  )。

选项 A、0 1 2
B、1 2 3
C、2 3 4
D、3 4 5

答案8

解析 本题中定义的二维数组a[3][3]中9个元素在内存中的排列顺序是:a[0][0],a[0][1], a[0][2],a[1][0],a[1][1],a[1][2],a[2][0],a[2][1],a[2][2]。在主函数中,首先定义了二维数组a[3][3],然后定义了—个指针p指向数组a的第1个元素a[0][0]在第一个for循环中,依数组a在内存中的排列顺序为其元素赋从0~8九个值,然后用第二个for循环依次输出a[1][0],a[1][1],a[1][2]三个元素的值。所以,4个选项中选项D符合题意。
转载请注明原文地址:https://kaotiyun.com/show/FCJp777K
0

最新回复(0)