问题详情

有以下程序: int f(int b[][4]) { int i,j,s=0; for(j=0;i<4;i++) { i=j; if(i>2) i=3-j; s+=b[i][j]; } return s; } main() { int a[4][4]={{1,2,3,4,},{0,2,4,6},{3,6,9,12},{3,2,1,0}}; printf("%d ",f(a)); } 执行后的输出结果是( )。


A、12

B、11

C、18

D、16

时间:2022-02-21 17:39 关键词:

答案解析

D
解析:在主函数中首先定义了一个4行4列的二维数组a,并用该数组的数组名作为实参调用函数f()。函数f()中的for循环作用,是将数组前3行中的对角线上的元素,即b[0][0]、b[1][1]、b[2][2]和第一行的第四列元素即b[0][3]累加到变量s中, s=a[0][0]+a[1][1]+a[2][2]+a[0][3]=1+2+9+4=16。然后将s的值返回在主函数中输出。