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

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

这段代码不行,会显示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/

相关文章:

java - 为什么应该更新为不同值的整数却重置为 100

flash - 在ActionScript 3.0中设置动态变量名称

java - if-else 中的局部变量初始化问题(Java)

c++/cli 检查值是否为数字

C++ - 使用 Bag of Words 将图片匹配在一起?

c++ - 如何使用阻塞输入源构建流程图

Javascript:使用对象作为函数?

c# - 尝试使用 Else 语句 C# 的初学者?

c++ - 为什么 boost 的进程间互斥锁在 posix 上不健壮?

c++ - OpenGL 绘制顶点缓冲区对象