如果我想确保if只有两个条件的两个条件都为真时才执行一个语句,我应该使用&还是&&在语句的子句之间?
例如,我应该使用
if a == 5 & b == 4
Run Code Online (Sandbox Code Playgroud)
要么
if a == 5 && b == 4
Run Code Online (Sandbox Code Playgroud)
我知道前者是元素,后者是短路的,但我不明白这意味着什么.
对于标量布尔条件,我建议你使用&&.短路意味着如果第一个条件为假,则不评估第二个条件,但是无论如何您都知道结果是假的.只有当表达式的两边都为真时,才会有一个&或者&&一个为真,但&如果其中一个操作数是矩阵,则可以返回矩阵结果.
另外,我相信Matlab的比较应该完成==,而不是=(赋值).