gpt4 book ai didi

c++ - for循环没有在while循环中第二次执行

转载 作者:行者123 更新时间:2023-11-28 03:39:59 25 4
gpt4 key购买 nike

我只是 C++ 的初学者。我正在编写小而简单的程序,打印两个用户指定整数之间的一系列整数。

最后,如果用户返回 1,程序将重新运行 while 循环,但当发生这种情况时,程序将不会再次打印数字系列(for 循环不起作用)。

这是源代码:

int main(void)
{
int num1, num2;
int doContinue = 1;

while (doContinue == 1)
{
cout << "Please enter two integers, the first being the smallest: ";

do { //does everything in curly braces while the user inputs the numbers wrong...
cin >> num1 >> num2;

if (num1 > num2)
{
cout << "Your first number was bigger than the second.\nTry again!: ";
}

} while (num1 > num2);//... but once it's not wrong, break out of this do loop

//at this point the input has been checked, so we can proceed to print the series

for(int num1; num1 <= num2; num1++)
{
cout << num1 << " \n";
}

cout << "Would you like to compute another series of integers? 1=yes, anything else=no: ";
cin >> doContinue;
}

return 0;
}

最佳答案

您的代码表现出未定义的行为。

    for(int num1; num1 <= num2; num1++)
{
cout << num1 << " \n";
}

创建一个名为 num1 的新整数, 与 num1 无关在 for 循环之外。您没有初始化 num1 的值, 但继续与它进行比较。

删除 int num1 (也就是说,类似 for(; num1 <= num2; num1++) 的东西)在你的 for 循环中重试。

关于c++ - for循环没有在while循环中第二次执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9571188/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com