#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");
}
这段代码不行,会显示leftover没有被初始化就被使用了。但是当我改变黄金的值(value)(等4200)以满足if语句时,它会起作用,显示黄金从4100中扣除后的余数。我只是在学校学习c++所以我不熟悉if和if else声明,但非常感谢您告诉我出了什么问题!
最佳答案
4100>gold>=3500
并不像您想象的那样。它被评估为 (4100>gold) >= 3500
,这取决于 gold
的值可以是 0 >= 3500
或 1>3500
。查找运算符优先级。
你可能想要
(4100>gold) && (gold>=3500)
关于c++ - 为什么我不能使用 if 和 if else 语句为变量赋值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23895538/