为什么我不能使用if和if else语句为变量赋值?

use*_*652 0 c++ variables if-statement

#include <iostream>
using namespace std;

void main()
{
    int leftover;
    int gold = 3900;//satisfies the if else statement

    if( gold>=4100){//successfully build item
        leftover = gold-4100;
    }
    else if(4100>gold>=3500){
        leftover = gold-3500;
    }

    cout << leftover << endl;
    system("pause");
}
Run Code Online (Sandbox Code Playgroud)

此代码不起作用,它将显示剩余使用而未初始化.但是当我改变gold(等等4200)的值以满足if语句时,它会起作用,显示从4100中扣除金币之后的余数.我只是在学校学习c ++所以我不熟悉if和if else声明还有很多感谢告诉我出了什么问题!

Luc*_*ore 9

4100>gold>=3500不做你的想法.它被评估为(4100>gold) >= 3500,取决于gold可以是0 >= 3500或的值1>3500.查找运算符优先级.

你可能想要

(4100>gold) && (gold>=3500)
Run Code Online (Sandbox Code Playgroud)