c++ - 为什么我无法在循环中覆盖变量?

标签 c++ for-loop

变量 hey 应该在我通过 for 循环时被覆盖,所以如果我不输入 1,它会说“再见”,但是如果我在它通过循环时输入 1循环,它应该说“你好”,但它应该说“再见”。

#include <iostream>
using namespace std;
int main(){
    char hey;
    for (int n = 0; n <= 10; n++){
        cout << "enter 1" << endl;
        cin >> hey;
        if (hey == 1)
                cout << "hello\n";
        else
            cout << "bye";
    }
}

最佳答案

ASCII 数字 49 的字符 '1' 与数字 1 不同。
使用

if (hey == '1')

如果你想将某物与字符 a 进行比较,你也必须使用 'a'。这里也是一样。

关于c++ - 为什么我无法在循环中覆盖变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31039849/

相关文章:

c++ - 二叉搜索树最适合算法。 : Incorrect Output

c++ - 为多次执行创建makefile

c++ - 使用OpenCv的矩阵运算(加法和减法)OpenCV C++

javascript - 如何编写一个 for 循环,从中断处开始计算?

java - 在 for 循环中创建 JButton 后将其删除

c++ - 将新对象传递给函数

在 map 上使用 lambda 时出现 C++11 编译错误

java - for 语句不循环 - android

python - 需要提高速度性能。使用嵌套 for 循环

matlab - 向量化嵌套循环,其中一个循环变量依赖于另一个