有以下程序: #include<stdio.h> main() {int b[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1; for(i=0;i<3;i++) for(j=i;j<=i;j++) t+=b[i][b[j][i]]; p

admin2020-06-16  25

问题 有以下程序:
#include<stdio.h>
main()
{int b[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;
for(i=0;i<3;i++)
for(j=i;j<=i;j++) t+=b[b[j]];
printf("%d\n",t);
}
程序运行后的输出结果是(  )。

选项 A、3
B、4
C、1
D、9

答案B

解析 分析程序可以发现,内层for循环每次只执行一次:即当j=i时。所以可以使用i替换j,去掉for循环,对应外层for循环的i,执行t+=b[b],所以当i取值0、1、2时,t的值累加b[0][b[0][0]]、b[1][b[1][1]]、b[2][b[2][2]],即b[0][0]、b[1][1]、b[2][2],对应的值为:0、1、2,t取值为4(t初始值为1)。故答案选B。
转载请注明原文地址:https://kaotiyun.com/show/ipCp777K
0

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