gpt4 book ai didi

c++ - C++中的IF嵌套

转载 作者:行者123 更新时间:2023-12-01 15:04:54 25 4
gpt4 key购买 nike

大家好,我在介绍c++入门类(class)时只讲了一些教科书示例,如果有人能弄清楚为什么以下代码产生51输出(我希望它不会产生任何输出),我将不胜感激,非常感谢!:

#include <iostream>
using namespace std;

int main()
{
constexpr int a{9};
constexpr int b{1};
constexpr int c{5};

if (a < b < c)
if (c > b > a)
if (a > c) cout << 91;
else cout << 19;
else
if (b < c) cout << 51;
else cout << 15;
else
if (b < a < c)
if (a < c) cout << 95;
else cout << 59;
else
if (b < c) cout << 57;
else cout << 75;

return 0;
}

最佳答案

看来您期望此表达式:

if (a < b < c)
如果 trueab的顺序递增,则为 c。但是实际上发生的是该表达式变为:
if ((a < b) < c)
可以是:
if (0 < c)
// or
if (1 < c)
无论哪种方式,这可能都不是您想要的。实际上,没有充分的理由编写上述表达式。
如果要检查变量是否增加,则需要编写如下内容:
if (a < b && b < c)

关于c++ - C++中的IF嵌套,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62622202/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com