我知道&&可以用来检查条件语句中是否满足这两个条件,但是如何解释 full [i] [j] = open [i] [j]&&满[i - 1] [j]; ??
如果我们正在阅读这段代码,我们如何解释这个?
请注意,完整和开放是两个2D 布尔数组
//i = column j = row
for (int i = 1; i < N; i++) {
for (int j = 0; j < N; j++) {
full[i][j] = open[i][j] && full[i - 1][j];
//^^ what happens here?
}
答案 0 :(得分:1)
full[i][j] = open[i][j] && full[i - 1][j];
表示[i][j] && full[i - 1][j]
将解析为布尔值并将其指定为另一个数组中的布尔元素。
答案 1 :(得分:0)
我认为(不是100%肯定)它正在分配价值, 当我们使用原始数据类型时,我们可以使用单个&amp;有点明智, 虽然我们对布尔值做了同样的事情,
full[i][j] = open[i][j] && full[i - 1][j];
表示我们将anded boolean value
open[i][j]
和full[i-1][j]
分配给full[i][j]
。
答案 2 :(得分:0)
默认情况下,full数组的所有值都为false。
最初为i = 1且j = 0。 full [0] [0]的值将为false。因此无论open [] []值是什么,full [1] [0]都将具有错误值。
如果我理解你的问题,请纠正我。