有以下程序: #include main() {int x[3][3]={{2},{4},{6}},i,*q=&x[0][0]; for(i=0;i

admin2016-04-07  28

问题 有以下程序:
    #include
    main()
    {int x[3][3]={{2},{4},{6}},i,*q=&x[0][0];
    for(i=0;i<2;i++)
    {
    if(i==0)  
    x[i+1]=*q+1;
    else
    ++q;
    printf("%d",*q);
    }
    printf("\n");
    }
    程序的运行结果是(    )。

选项 A、2 3
B、2 6
C、3 3
D、3 6

答案A

解析 题中把数组首元素地址赋值给指针变量q,在for循环体内,当i=0时,满足if语句,把指针q指向的单元值加1,等于3赋给x[0][1],接着输出q指针指向单元的值2;i=i+1后再次进入循环体,此时i不等于0,指针q地址加1,指向x[0][1],此时*q=3,因此最后函数输出的分别是2,3,故答案为A选项。
转载请注明原文地址:https://kaotiyun.com/show/j3Dp777K
0

最新回复(0)