有以下程序: #include main() {int x[3][4]={1,3,5,7,9,11,2,4,6,8,10,12}; int(*p)[4]=x,k=1,m,n=0; for(m=0;m

admin2016-04-07  20

问题 有以下程序:
    #include
    main()
    {int x[3][4]={1,3,5,7,9,11,2,4,6,8,10,12};
    int(*p)[4]=x,k=1,m,n=0;
    for(m=0;m<2;m++)n+=  *(*(p+m)+k);
    printf("%d\n",n);
    }
    程序的运行结果是(    )。

选项 A、10
B、20
C、14
D、16

答案C

解析 *(*(p+m)+k)系统默认为指针指向数组中第[m][k]个元素,因此,在for循环中,n+=/(/(p+m)+k);执行的是将数组x[0][1]和x[1][1]累加后赋值给n,最后进行输出,答案为C选项。
转载请注明原文地址:https://kaotiyun.com/show/CtDp777K
0

最新回复(0)