参考答案和解析
正确答案: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。
更多“有以下程序 main( ) { int a[3][3],*p,i; p=&a[0][0]; for(i=0;i<9;i++) p[i]=i+1; ”相关问题
  • 第1题:

    有以下程序:

    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]);

    }

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


    正确答案:6
    6 解析:本题定义了二维数组a和指针变量p,p指向数组的首地址,for循环语句的功能是给数组元素赋值,结果为a[0][0]=1、a[0][1]=2、a[0] [2]=3、a[1][0]=4、a[1][1]=5、a[1][2]=6、a[2][0]=7、a[2][1]=8、a[2][2]=9,故printf函数的输出结果为6。

  • 第2题:

    有以下程序:includemain() {int a[3][3],*p,i; p=&a[0][0]; for(i=0;i<9;i++) p[i

    有以下程序: #include <stdio.h> 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]是把该数组的第一个元素a[0][0]的地址赋给指针变量p,a[1][2]是数组中的第6个元素,根据for循环中的赋值可知,输出结果是6。

  • 第3题:

    下列程序执行后的输出结果是() 。 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.随机


    10

  • 第4题:

    有以下程序: 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
    解析:主函数中首先定义一个3行3列的二维数组,定义了一个整型变量指向它,直接通过for循环给数组的每一个元素赋值,使得a[0][0]=1、a[0][1]=2、a[0][2]=3、a[1][0]=4、a[1][1]=5、a[1][2]=6、a[2][0]=7、a[2][1]=8、a[2][2]=9。所以,4个选项中选项B符合题意。

  • 第5题:

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

    A.3

    B.6

    C.9

    D.2


    C