34、有以下程序 int f(int b[][4]) { int i,j,s=0; for(j=0;j2) i=3-j; s+=b[i][j];
问题描述:
34、有以下程序 int f(int b[][4]) { int i,j,s=0; for(j=0;j2) i=3-j; s+=b[i][j];
麻烦说明详细原因.谢谢
34、有以下程序
int f(int b[][4])
{ int i,j,s=0;
for(j=0;j2)i=3-j;
s+=b[i][j]; }
return s;}
main( )
{ int a[4][4]={{1,2,3,4},{0,2,4,5},{3,6,9,12},{3,2,1,0}};
printf("%d\n",f(a));}
执行后的输出结果是(D)
A)12 B)11 C)18 D)16
答
你没分!这简单!数组指针a作为实参转给函数f!函数f的功能是把二维数组两个下标相同的元素相加当下表为3时就执行i=3-j=0 s实际上等于b[0][0]+b[1][1]+b[2][2]+b[0][3]=16