谁能解释这段代码?为什么显示1

时间:2019-04-13 16:05:49

标签: c++ c++11

这是如何工作的?

int a=5<=5;
cout<<a; // output : 1

谁能解释为什么输出为1?

2 个答案:

答案 0 :(得分:5)

那是因为

  1. <=的优先级高于=,因此优先计算。
  2. 5 <= 5返回一个布尔值,这是正确的。
  3. 将其转换为整数1。
  4. 然后将1分配给a

所以a现在等于1。

答案 1 :(得分:0)

5<=5true,当转换为整数时为1

您将此值分配给a,然后将其保存为值1。然后输出。

您可能想阅读https://en.cppreference.com/w/cpp/language/operator_precedence