C++ 程序停止而不运行while循环
我的while循环不工作。代码在编译器上正确运行。然后我用visualstudio编译它,从命令提示符下运行它并输入一个数字。即使数字正确,程序也会提前停止C++ 程序停止而不运行while循环,c++,while-loop,C++,While Loop,我的while循环不工作。代码在编译器上正确运行。然后我用visualstudio编译它,从命令提示符下运行它并输入一个数字。即使数字正确,程序也会提前停止 #include <cstdlib> #include <iostream> int main() { int answer = 8; int guess; int tries; std::cout << "I have a number between 1-10.\n"; s
#include <cstdlib>
#include <iostream>
int main() {
int answer = 8;
int guess;
int tries;
std::cout << "I have a number between 1-10.\n";
std::cout << "Please guess it: ";
std::cin >> guess;
while (guess != 8 && tries < 50) {
std::cout << "Wrong guess, try again: ";
std::cin >> guess;
tries++;
}
if (guess == 8) {
std::cout << "You got it!\n";
}
}
#包括
#包括
int main(){
int-answer=8;
智力猜测;
智力测验;
无法猜测;
而(猜测!=8&&trys<50){
std::cout>猜测;
尝试++;
}
如果(猜测==8){
std::cout正如@rsjaffe和@Ken White在评论中所说的那样,trys
变量是统一的,这意味着变量指向的内存中的位置是“垃圾”(剩余内存)。尝试给它一个初始值,如下所示:
int tries = 0;
它将实例化和初始化trys
变量。变量trys未初始化,因此您有未定义的行为。一个编译器可能会将其归零,另一个编译器可能不会。在调试器中单步执行代码将明确问题所在。在编译器中启用提示和警告也是如此,因为我会告诉你你正在使用一个未初始化的变量。