这段代码中unsigned的具体作用是什么?为什么输出不符合预期?

问题描述 投票:0回答:0

我很困惑为什么在下面的代码中执行其他条件。

#include <iostream>
using namespace std;

int main() {
    unsigned a = 0;
    int b = 2;
    if (a + b >= -2) 
        cout << a + b << ">=" << -2 << endl;
    else
        cout << a + b << "<" << -2 << endl;
    return 0;
}

如果我们做

cout<<a+b
,输出是
2
那么为什么这里执行其他条件? unsigned 关键字在这里的作用是什么?

c++ unsigned unsigned-integer
© www.soinside.com 2019 - 2024. All rights reserved.