这两个C条件之间的差异

时间:2017-03-28 04:59:03

标签: c

我只是想知道

之间有什么区别
    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]){}

? 我在我的程序上运行测试用例,这两个语句是造成差异的原因,在一些测试用例中,它们都产生了相同的答案,但在某些情况下却没有。它们的处理方式不同吗提前谢谢。

1 个答案:

答案 0 :(得分:1)

首先测试matrix[i][x]是否为非零。第二个测试是否大于matrix[i][y]

>不是分配性的;也就是说,a && b > c并不意味着a > ca > b; ab > c是完全独立的表达式。