有以下程序 main() { int a[][3]=({1,2,3},{4,5,0}},(*pa) [3],i; pa=a; for(i=0;i<3;i++) if(i<2) pa[l][i]=p

admin2009-01-15  13

问题 有以下程序    main()    {  int  a[][3]=({1,2,3},{4,5,0}},(*pa) [3],i;       pa=a;       for(i=0;i<3;i++)          if(i<2)  pa[l]=pa[1] -1;          else  pa[1]=1;       printf("%d\n".a[0][1]+a[1][1]+a[1][2]);    }    执行后输出结果是

选项 A、7
B、6
C、8
D、无确定值

答案1

解析 本题定义了一个指向由3个元素组成的一维数组的指针变量pa,通过赋值让它指向具有2行3列的数组a,此时用指针变量 pa,表示数组元素a[j]的形式是pa[j]。for循环执行了3次;第一次i值为0,执行pa[1][0]=pa[1][0]-1执行后a[1][0]的值变为3;第二次i值为1,执行 pa[1][1]=pa[1][1]-1,执行后a[1][1]的值为4;第三次i值为2,执行pa[1][2]=1,执行后a[1][2]的值变为1。故printf语句输入的值为2+4+1=7。所以,A选项为所选。
转载请注明原文地址:https://jikaoti.com/ti/ksS0FFFM
0

相关试题推荐
最新回复(0)