为什么在这里出现“使用未初始化的内存'猜测'”?

时间:2019-09-03 17:44:04

标签: c++

我刚刚开始编程。我已经观看了一个教学视频,并像他一样输入了代码。它对他有效,但对我无效,我找不到错误。可能是拼写错误,但我已经检查了多次。安装了运行iostream所需的软件包等。它在标题中显示错误消息:

#include <iostream>
using namespace std;

int main()
{

    int secretNum = 7;
    int guess;

    while (secretNum != guess) {
        cout << "Enter guess please: ";
        cin >> guess;
    }

    cout << "Win";

    return 0;

}

2 个答案:

答案 0 :(得分:2)

读取未初始化变量的值会调用未定义的行为,也许您的代码可以正常工作,或者可能无法正常工作。试试:

do {
    cout << "Enter guess please: ";
    cin >> guess;
} while (secretNum != guess);

写一个未初始化的变量是OK

答案 1 :(得分:1)

int guess;

此处的guess变量未初始化。该值不确定。

while (secretNum != guess) {

在此行上,您将另一个不确定的值与另一个进行比较。读取不确定值的行为是不确定的。

一个简单的解决方案是用一些值(而不是7)初始化guess