【发布时间】:2020-07-09 03:53:46
【问题描述】:
#include<iostream>
using namespace std;
int main()
{
int x,y,n=0,ch='y';
while(ch=='y')//problem loop
{
gno:
x=rand()%9999+1000;
y=x;
n=0;
while(y>0)
{
y=y/10;
n++;
if(n>3&&n<3)
goto gno;
}
cout<<x<<endl;
cin>>ch;
}
return 0;
}
每当我运行上述代码时,它都会显示一个随机数。但在那之后,即使我将 ch 的值输入为“y”(当然没有引号!)标记为“问题循环”的 while 循环也不会继续。是的,我知道这是某种运行时错误,但任何人都可以指定导致此问题的原因,并通过对代码进行哪些确切的更改来让我成功运行它?
【问题讨论】:
-
它是C++还是C?
-
因为
ch是int。将其更改为char。 -
n<3&&n>3什么时候是真的?
标签: c++ loops while-loop nested-loops