为什么这是一个无限循环?

为什么循环继续到无穷大,我通过 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;
}

回答

为什么这是一个无限循环?

因为这:

do{
    while(n<6)
    printf("%d",n);
    n++;
}
...

其实是这样的:

do{
    while(n<6) {
        printf("%d",n);
    }
    n++;
}
...

代码永远不会逃避do. 我建议删除它,这样你就只有一行,while(n<6)上面写着,return将使你的程序按预期运行


以上是为什么这是一个无限循环?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>