if(1 == 2 || 4)
{
cout<<"True";
}
else
{
cout<<"False";
}
我读懂了上面的内容。如果1等于2或4,则打印true。否则,打印false。但是当执行此操作时...会打印true。显然我在这里误解了什么。1不等于2或4。那不应该是false吗?
if(1 == 2 || 4)
{
cout<<"True";
}
else
{
cout<<"False";
}
我读懂了上面的内容。如果1等于2或4,则打印true。否则,打印false。但是当执行此操作时...会打印true。显然我在这里误解了什么。1不等于2或4。那不应该是false吗?
是的,我也犯了同样的错误。
再读一遍这个句子:
如果1等于2或4,则打印true。
"2"和"4"都是指"If 1 is equal to [...]"。这意味着,该句子只是以下缩写:
如果1等于2或1等于4,则打印true。
这将引导我们进入if
从句。
if (1 == 2 || 1 == 4)
相反。
1 == 2 || 4
是true,因为 (1 == 2) == false
和 4 == true
进行OR操作,得到true (false OR true = true)。
在这个短语中
如果1等于2或4,则打印true
您需要添加一对单词以获得正确的等效C++短语
如果1等于2或等于4,则打印true
因此,它将如下所示
if ( 1 == 2 or 1 == 4 )
{
cout << "True";
}
else
{
cout<<"False";
}
1 == 2 || 4
( 1 == 2 ) || 4
false || 4
当4不等于0时,它被转换为布尔值true
,因此整个条件表达式的结果为true
这不是C++中if语句的工作方式。如果你想知道某个东西是否等于一件事或另一件事,那么它就是
if (this == this_thing || this == another_thing)
你所拥有的
if(1 == 2 || 4)
被评估为
if ((1 == 2) || 4)
if (false || true)
if (true)
所以 if 语句将始终为真。
它的值为true,因为如果你检查一个整数的布尔值(就像你用数字4做的那样),它将被评估为true。正如上面的人所说,你必须把它分开。
if ((1 == 2) || 4)
- Neil Kirk