有以下程序 int f(int b[][4]) { int i,j,s=0; for(j=0;j<4;j++) {i=j; if(i>2)i=3-j; s+=b[i][j]; } r

admin2009-04-15  18

问题 有以下程序    int f(int b[][4])    {  int i,j,s=0;       for(j=0;j<4;j++)       {i=j;       if(i>2)i=3-j;       s+=b[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\n’,f(a) );    }    执行后的输出结果是:

选项 A、12
B、11
C、18
D、16

答案8

解析 分析程序可知,函数f()中的for循环作用,是将数组前三行中的对角线上的元素,即b[0][0]、b[1][1]、b[2][2]和第一行的第四列元素即b[0][3]累加到变量s中,然后将s的值返回。在主函数中首先定义了一个4行4列的二维数组,接着通过输出语句输出函数f(a) 的返回值。调用f(a) 的返回值为a[0][0]+a[1][1]+ a[2][2]+a[1][3]=1+2+9+4=16。
转载请注明原文地址:https://jikaoti.com/ti/WTI0FFFM
0

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