你什么时候需要使用非短路逻辑运算符?换一种说法...
你什么时候用
if(x == 1 | x==2)
Run Code Online (Sandbox Code Playgroud)
代替
if(x == 1 || x==2)
Run Code Online (Sandbox Code Playgroud)
如果第一个条件为真...则整个语句已经为真.
更新:和&和&&的相同问题
如果我们有两个函数并且我们希望它们都被执行,就会出现一个例子:
if (foo() | bar())
Run Code Online (Sandbox Code Playgroud)
如果我们已经使用过||,那么bar()如果foo()返回true 则不会被执行,这可能不是我们想要的.
(虽然这是一个模糊的情况下有所的,并且往往不是|| 是更合适的选择.)
类似的情况可以提出&/ &&:
if (foo() & bar())
Run Code Online (Sandbox Code Playgroud)
如果我们已经使用过&&,那么bar()如果foo()返回false 则不会被执行,这可能不是我们想要的.
| 归档时间: |
|
| 查看次数: |
196 次 |
| 最近记录: |