【问题标题】:Getting same output everytime [closed]每次都获得相同的输出[关闭]
【发布时间】:2020-12-17 23:45:26
【问题描述】:

这是一个简单的猜数字游戏。如果你猜对了,它会输出“You win!!!”,但如果超过尝试次数(numberofguesses),它应该输出“You lost”,但它显示的是“You win!!!”即使我在while 循环之后检查了numberofguessessecretnumguess 的值。简单回答一下,我是初学者。

#include <iostream>
using namespace std;

int main()
{
    int secretnum = 7;
    int guess = 0;
    int numberofguesses = 3;
    while (secretnum != guess && numberofguesses != 0) {
        cout << "enter your guess: ";
        cin >> guess;
        --numberofguesses;
    }
    if (secretnum = guess && numberofguesses != 0) {
        cout << "You win!!!";
    }
    else
    {
        cout << "You lose";
    }
}

【问题讨论】:

  • = 是分配。 ==比较
  • secretnum = guess,这里有问题

标签: c++ if-statement while-loop


【解决方案1】:

您将 assignment 运算符 = 误认为 comparison 运算符 ==

在这一行:

 if (secretnum = guess && numberofguesses != 0) 
            cout << "You win!!!";
        

改成:

if (secretnum == guess && numberofguesses != 0) {
        cout << "You win!!!";

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-02
    • 1970-01-01
    • 2016-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-02
    • 1970-01-01
    相关资源
    最近更新 更多