【发布时间】:2021-07-13 07:37:53
【问题描述】:
#include <iostream>
using namespace std;
bool play_game(int n) {
int guess;
bool noguesses = false;
int numofguesses = 0;
cout << "Welcome to my number guessing game\n";
while (n!=guess && !noguesses)
{
if (numofguesses < 6)
{
cout << "\n";
cout << "Enter your guess: ";
cin >> guess;
cout << "\n";
cout << "You entered: " << guess;
numofguesses++;
return false;
}
else
{
oog = true;
}
}
if (noguesses) {
cout << "I'm sorry. You didn't find my number.\n";
cout << "It was" << n << endl;
}
else
{
cout << "\n";
cout << "You found it in" << numofguesses << "guess(es)\n";
return true;
}
}
int main()
{
int secretnum = 5;
play_game(secretnum);
}
当我运行它时,程序在cout << "You entered: " << guess; 之后停止。我希望它一直循环,直到猜测次数达到 6,或者直到用户输入正确答案。
【问题讨论】:
-
函数结束,因为你从它返回。
return false;如果你不希望它结束就不要回来。 -
另外
oog没有参考。 -
... 和
guess最初在 while 循环条件下对n != guess的第一次评估是不确定的,因此会调用 未定义的行为。
标签: c++ while-loop