0 c loops infinite-loop while-loop do-while
为什么循环继续到无穷大,我通过 n<6 设置了限制,还有一件事,代码打印 111111... 。我期望的输出是 12345。
#include <stdio.h>
//Compiler version gcc 6.3.0
int main()
{
int n=1;
do{
while(n<6)
printf("%d",n);
n++;
}
while(n<6);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
为什么这是一个无限循环?
因为这:
do{
while(n<6)
printf("%d",n);
n++;
}
...
Run Code Online (Sandbox Code Playgroud)
其实是这样的:
do{
while(n<6) {
printf("%d",n);
}
n++;
}
...
Run Code Online (Sandbox Code Playgroud)
代码永远不会逃避do
. 我建议删除它,这样你就只有一行,while(n<6)
上面写着,return
将使你的程序按预期运行