3

如果我想确保if仅在两个条件都为真时才执行语句,我应该使用&还是&&在语句的子句之间使用?

例如,我应该使用

if a == 5 & b == 4

或者

if a == 5 && b == 4

我知道前者是元素方面的,后者能够短路,但不清楚这意味着什么。

4

1 回答 1

5

对于标量布尔条件,我建议您使用&&. 短路意味着如果第一个条件为false,则不评估第二个条件,但无论如何你都知道结果为 false 。仅当表达式的两边都为真时,一个或一个才会为真,但如果&其中一个操作数是矩阵,则可以返回矩阵结果。&&&

另外,我相信在 Matlab 中比较应该用 来完成==,而不是用=(赋值)。

于 2012-01-21T16:11:01.753 回答