更多“有以下程序:main(){ int a[3][3],*p,i; p=&a[1][1]; for(i=0;i<4;i++) p[i]=i+1;printf(" ”相关问题
  • 第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题:

    有以下程序: 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符合题意。

  • 第3题:

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

  • 第4题:

    以下程序 int aa[3][3]={{2},{4},{6}}; main() { int i,*p=&aa[0][0]; for(i=0;i<2;i++){ if(i==0)aa[i][i+1]=*p+1; else ++p; printf("%d",*p); } } 的输出是______。

    A.23

    B.26

    C.33

    D.36


    正确答案:A
    解析:观察题目,可以发现,*p=&aa[0][0]语句实际是将数组aa的首地址赋给了指针变量p,将i的值带入for循环中,i=0时,aa[0][1]=3,*p=2;*p输出的是指针所指向的数组值,此时p所指向的是aa[O][0],输出2,而i=1时执行了++p操作使指针向后移动指向了aa[0][1],所以在输出*p时应为3。

  • 第5题:

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