Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
这两个C条件之间的差异_C - Fatal编程技术网

这两个C条件之间的差异

这两个C条件之间的差异,c,C,我只是想知道它们之间有什么区别 if(matrix[i][x] && matrix[i][x] + length > matrix[i][y]){} 及 ?? 我在我的程序上运行测试用例,这两个语句是造成差异的原因,在一些测试用例中,它们都产生了相同的答案,但在一些测试用例中它们没有。它们的处理方式不同吗?提前感谢。如果矩阵[i][x]为非零,则第一次测试。第二个测试是否大于矩阵[i][y] 不是分布式的;也就是说,a&&b>c并不意味着a>c和a>b;a和b>c

我只是想知道它们之间有什么区别

    if(matrix[i][x] && matrix[i][x] + length > matrix[i][y]){}

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

如果矩阵[i][x]为非零,则第一次测试。第二个测试是否大于矩阵[i][y]


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

第一个表示
if(matrix[i][x]!=0&&matrix[i][x]+length>matrix[i][y]){}
ohhh,非常感谢。。。他们显然不同。你没有看到区别吗?是的,它们将根据运算符的优先级进行不同的处理。小心地使用大括号。AnT,是的,我现在明白了,我不习惯在不指定要检查什么的情况下使用条件,所以当我看到这一点时,我感到困惑,但我记得你可以像那样检查零,很抱歉,谢谢你的回答!
    if(matrix[i][x] > matrix[i][y] && matrix[i][x] + length > matrix[i][y]){}