gpt4 book ai didi

c++ - 在 C++ 中 a+=b == c 做什么?

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:05:29 26 4
gpt4 key购买 nike

这段代码困扰了我一整天,我想我需要一些帮助,下面是用 C++ 编写的代码:

    int main()
{
int a = 3, b = 4;
if (a+=2 == b) {
cout << a << endl;
cout << "True" << endl;
}
return 0;
}

无论ab是什么值,if语句总是为真,a的值不会改变(即 acout 将在首次分配时打印 a 的值。但是,当我将一对括号放在 (a+=2) ,代码会按照我的预期执行。所以我的问题是为什么if语句中的表达式总是true

最佳答案

运算符 == 具有更高的 precedence+=。此语句等于 a += (2 == b)。该语句返回a的新值,当新值不为零时为真。

a 的值在这里没有变化,因为2 == b 为假,转换为整数时为零。

关于c++ - 在 C++ 中 a+=b == c 做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52848465/

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