#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");
}


该代码不起作用,它将显示未初始化就使用了剩余的代码。但是,当我更改gold(etc 4200)的值以满足if语句时,它将起作用,并显示从4100中扣除了gold之后的余数。声明还非常感谢您告诉我出了什么问题!

最佳答案

4100>gold>=3500不会执行您的想法。评估为(4100>gold) >= 3500,取决于gold的值可以是0 >= 35001>3500。查找运算符优先级。

你可能想要

(4100>gold) && (gold>=3500)

关于c++ - 为什么我不能使用if和if else语句将值赋给变量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23895538/

10-11 22:35