【发布时间】:2020-02-04 20:16:56
【问题描述】:
以下程序的输出是“它们不相等”,但我希望“它们相等”,因为三个比较变量(x、y 和 z)相等。为什么?
#include <iostream>
int main()
{
int y, x, z;
y = 3;
x = 3;
z = 3;
if (x == y == z)
{
std::cout << "they are equal\n";
}
else
{
std::cout << "they are not equal\n";
}
}
【问题讨论】:
-
if (x == y == z)没有按照你的想法做 -
所以我不能在一行中等效 3 个数字而不分别等效每个 2 个数字?
-
所以我不能在一行中等效 3 个数字而不分别等效每个 2 个数字?你是对的,你不能这样做单个表达式
-
正确。因为比较计算结果为布尔值,然后您将其与数字进行比较。
标签: c++