2 回答

TA贡献883条经验 获得超454个赞
如果我用“行”和“列”来描述这个 arry数组的话, 它是有 5 行 6 列。
第一个 for 循环是沿着行来循环的,也就是每次循环得到其中一行。因为 arry 有 6 列,所以一行就是有 6 个元素的数组。 那么 arry[i] 就是指第 i 行,也就是 line。所以 line 里是 6 个元素。 你这里理解错了!
这个代码的逻辑是:
第一个循环负责处理每一行。在循环中先把这一行赋值给数组 line,这是为了在后面可以方便地通过 line 来访问这一行的每一个元素。
第二个循环依次访问行中的每一个元素。先给元素赋予随机值,再打印"这个元素 + , + \t"。
你看它给元素赋值时写的是 arry[i][j] = temp,其实这里完全可以写成 line[j] = temp。想得明白吗? 因为 line 就是当时的 arry[i] 这一行,既然前面已经用 line 表示这一行了,所以用 line[j] 自然就是这一行的 j 元素,也就是 arry[i][j]。
在下面打印元素值时它用的就是 line[j],同理这里也可以用 arry[i][j]。
吐槽:这个代码在表示当前元素时一会儿用 line[j],一会儿用 arry[i][j],这很乱啊。其实它完全没有必要用到 line,就只用 arry[i][j] 表示元素不是很清楚吗!
在处理完一行的所有 6 个元素之后,就打印换行。然后回到第一个 for 循环中再处理下一行...直到处理完全部 5 行。
添加回答
举报