有以下程序:int f(int b[][4]){ int i, j, s=0;for(j=0j2) i=3-j;s+=b[i][j];有以下程序:int f(int b[][4]){ int i, j, s=0; for(j=0j<4;j++) { 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\n", f

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

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

A.12

B.11

C.18

D.16


相似考题
参考答案和解析
正确答案:D
解析:分析程序可知,函数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[0][3]=1+2+9+4=16。所以,4个选项中选项D符合题意。
更多“有以下程序:int f(int b[][4]){ int i, j, s=0;for(j=0j<4;j++){ i=j;if(i>2) i=3-j;s+=b[i][j]; ”相关问题
  • 第1题:

    有以下程序,程序运行后的输出结果是_______。 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]; } 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.22

    B.11

    C.18

    D.16


    正确答案:D
    解析:本题通过函数调用对数组a[0][0]、a[1][1]、a[2][2]、a[0][3]进行求和,然后用return语句返回s的值。

  • 第2题:

    有以下程序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];}

    有以下程序 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]; } 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


    正确答案:D
    解析:分析程序可知,函数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。

  • 第3题:

    31、以下程序的输出结果是__________。 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]; } return s; } int main(){ int a[4][4]={{1,2,3,4},{0,2,4,5},{3,6,9,12},{3,2,1,0}}; printf("%d", f(a)); return 0; }

    A.12

    B.11

    C.18

    D.16


    D

  • 第4题:

    有以下程序: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];

    有以下程序: 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]; } 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


    正确答案:D
    解析:f(a)=a[0][0]+a[1][1]+a[2][2]+a[0][3]=1+2+9+4=16。

  • 第5题:

    2、以下程序执行后的输出结果是()。 #include<stdio.h> void main() { int i,j,s=0; int a[4][4]={1,2,3,4,0,2,4,6,3,6,9,12,3,2,1,0}; for(j=0;j<4;j++) { i=j; if(i>2) i=3-j; s+=a[i][j]; } printf("%d\n",s); }

    A.12

    B.11

    C.18

    D.16


    20 0 20 0