#include<stdio.h> int main(){ int i=0,top=0; for(i=top;i<10;top++){ printf("%d %d\n",top,i); } }为什么是无线循环
时间: 2023-07-14 20:06:20 浏览: 160
字符串函数string.h应用举例.-综合文档
这段代码会导致无限循环的原因是在循环内部没有对变量 `i` 进行更新操作,导致循环条件始终为真。在每次循环中,变量 `top` 会不断增加,但变量 `i` 的值始终为初始值0,所以循环条件 `i < 10` 永远成立,导致循环不会结束。
为了修复这个问题,你可以在每次循环结束后,将 `i` 的值加1。修改代码如下:
```c
#include<stdio.h>
int main(){
int i=0,top=0;
for(i=top;i<10;top++){
printf("%d %d\n",top,i);
i++; // 添加这行代码
}
}
```
这样修改后,循环会在 `i` 的值达到10时结束,避免了无限循环。
阅读全文