全部问题 > 当前问题

二维数组课后练习

blob.png


这道题不是说了blob.png  答案中怎么会这样blob.png  还有i=0,j=1这种情况加入???

做我_女朋友 2016-3-3 19:01:51

共 3 个回答

矜持不失淡雅的少年、 2016-3-3 19:04:58

j进行第二次循环时就是i=0,j=1;啊。

没有人 2016-3-3 19:05:17

i有三种取值,i每对应一种取值j都要进行第二个for循环

最佳答案

嘿嘿大人 2016-3-3 19:08:50

第二个for嵌套在第一个for的循环体里面,也可以说第二个for就是第一个for的循环体

问题来自: 二维数组
有以下程序
#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。