有以下程序: #include <stdio.h> int f(int b[] [4]) { int i,j,s=0; for(j=0;j<4;j++) { i=j; if(i>2) i=

admin2009-01-15  17

问题 有以下程序:    #include   <stdio.h>    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

解析 程序中,当j=0时,i=0,i>2不成立,s+=b[0][0)=1;j=1时,i=1,i>2不成立,s =s+b[1][1]=1+2=3;j=2时,i=2,i>2不成立,s=s+b[2][2]=3+9=12;j=3时,i=3,i>2成立,i=3-j,此时i=0,s=s+b[0][3]=12+4=16;j=4时循环结束。所以最后s值为16。
转载请注明原文地址:https://kaotiyun.com/show/9pHp777K
0

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