具有逻辑OR的IF语句

Mik*_*ork 0 c++ if-statement logical-operators

if(1 == 2 || 4)
{
cout<<"True";
}
else
{
cout<<"False";
}
Run Code Online (Sandbox Code Playgroud)

这就是我如何阅读上述内容.如果1等于2或4,则打印为true.否则,打印错误.执行此操作时...打印为true.显然我在这里误解了一些东西.1不等于2或4.这不是假的吗?

cad*_*luk 5

是的,我犯了同样的错误.

再读一遍这句话:

如果1等于2或4,则打印为true.

"2"和"4"都指"如果1等于[...]".这意味着,句子只是一个缩写

如果1等于2或1等于 4,则打印为true.

这使我们的if-clause

if (1 == 2 || 1 == 4)
Run Code Online (Sandbox Code Playgroud)

代替.


1 == 2 || 4是的,因为(1 == 2) == falseORed with 4 == true,yield true(false OR true = true).