这个咋做呀,第二个for循环看不懂

有以下程序: 

 

#include <stdio.h> 

 

int 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]]; 

 

printf("%d\n",t); 

 

return 0;} 

 

程序运行后的输出结果是().

for (i=0;i<3;i++) 

for (j=i;j<=i;j++)

这么写的话,第二个for循环只会在j==i的时候执行一次。 

t+=b[i][b[j][i]];的第一次循环为:

t =1+ b[0][b[0][0]]; b[0][0] = 0,也就是相当于t= 1+ b[0][0]; //t = 1+0 = 1

第二次循环为:

t = t + b[1][b[1][1]];  b[1][1]=1,也就相当于 t = 1 + b[1][1];// t = 1+1 = 2;

第三次循环为:

t=t+b[2][b[2]b[2]]; b[2][2]=2,也就相当于t = 2 + b[2][2];// t = 2 + 2 = 4;

所以,程序运行的输出结果就是4

如有帮助,请采纳一下,谢谢。