我只是想知道
之间有什么区别 if(matrix[i][x] && matrix[i][x] + length > matrix[i][y]){}
和
if(matrix[i][x] > matrix[i][y] && matrix[i][x] + length > matrix[i][y]){}
? 我在我的程序上运行测试用例,这两个语句是造成差异的原因,在一些测试用例中,它们都产生了相同的答案,但在某些情况下却没有。它们的处理方式不同吗提前谢谢。
答案 0 :(得分:1)
首先测试matrix[i][x]
是否为非零。第二个测试是否大于matrix[i][y]
。
>
不是分配性的;也就是说,a && b > c
并不意味着a > c
和a > b
; a
和b > c
是完全独立的表达式。