为什么在 C++ 中 (0 < 5 < 2) 结果为真?

No *_*ame 6 c++ math boolean-logic boolean

下面的代码std::cout << (0 < 5 < 2);输出1(true) 到控制台,即使从数学上讲,它5 < 2是假的。这背后的逻辑是什么?

假设:这是因为0 < 5计算为 1,因此0 < 5 < 2计算为1 < 2。我对么?

Abh*_*utt 0

你自己已经回答了这个问题,你是100%正确的。评估是根据优先级进行的。可能对您有帮助:- C++ 运算符优先级

  • 平局时的优先级和顺序。 (4认同)