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
问题描述:
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