A-A+

有以下程序: main() { int a[][3]={{1 2 3) {4 5 0)) (

2022-08-05 19:51:29 问答库 阅读 171 次

问题详情

有以下程序: 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[1][i]=pa[1][i]-1; else pa[1][i]=1; printf("%dn",a[0][1]+a[1] [1]+a[1] [2]); } 执行后输出结果是()。
A.7
B.6
C.8
D.无确定值请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:A
解析:本题定义了一个指向由3个元素组成的一维数组的指针变量pa,通过赋值让它指向具有2行3列的数组a,此时用指针变量pa,表示数组元素a[i][j]的形式是pa[i][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选项为所选。

考点:程序