gpt4 book ai didi

c++ - 运营商评价

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

这段代码的计算结果为真:

#include <iostream>


int main(){
int x = 9;
int j = x-1;

if(x - j+1 > 1)
std::cout << "Ehhhh???\n";
}

但是这个是错误的:

#include <iostream>

int main(){
int x = 9;
int j = x-1;

if(x - (j+1) > 1)
std::cout << "Ehhhh???\n";
}

加号和减号运算符的优先级高于“<”,我也只使用一种数据类型,所以应该有 bo 溢出。为什么结果不同?

最佳答案

这实际上只是将 1 添加到什么值的问题。加法和减法具有从左到右的关联性,因此我们从左开始,向右进行。

x - j + 1
(9 - 8) + 1
1 + 1
2

在哪里

x - (j + 1)
9 - (8 + 1)
9 - 9
0

强制附加到 j 而不是 x-j 所以第二种情况是正确的错误。

关于c++ - 运营商评价,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36940195/

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