全部问题 > 当前问题

第二个for循环嵌套时,不是j=i吗,为什么解析中是i=0,j=1.

肖珺文 2017-7-27 09:44:18

共 2 个回答

最佳答案

qqq 2017-8-2 11:34:00

这个嵌套循环是这个意思:i=0时,j分别会取j=0,j=1的值,i=1时,j分别会取j=1的值,因为j的初始化条件是=i,循环条件是<=1。

肖珺文 2017-8-4 17:31:02

回复 qqq:明白了,谢谢。

问题来自: 二维数组
有以下程序
#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<=1;j++) t+=b[i][b[j][1]];
  printf("%d\n",t);
}
程序运行后的输出结果是 ______ 。
A. 1
B. 3
C. 4
D. 9
答案:C
解析:for(i=0;i&lt;3;i++) { for(j=i;j&lt;=1;j++) { t+=b[i][b[j][1]]; } } i=0,j=0时,t= t+b[0][b[0][1]]= 1+b[0][1]= 1+1= 2。 i=0,j=1时,t= t+b[0][b[1][1]]= t+b[0][1]= 2+1= 3。 i=1,j=1时,t= t+b[1][b[1][1]]= t+b[1][1]= 3+1= 4。因此选C。