这个答案为什么是无限循环啊

这个答案为什么是无限循环啊。真的不懂了。总感觉是for循环哪里有问题。

img

for(i=1;i<=5:)// i 的自加没有
printf("%d",i); // 这里和上面for() 是一句;
i++; // i++ 已经在for() 循环的外面了。

for循环后面没有大括号的话,for循环就会只作用于下面第一句,因此i++并不会在for循环的时候循环到。

i++已经超出for的范围了。不属于for循环体。

for (i = 1; i <= 5;)后边缺少大括号,只执行了printf("%d", i); 下边的i++;并没有执行,所以是无限循环。

因为这个语句写完整是这样的,i++并不在for作用域内

        for (i = 1; i <= 5;) {
            printf("%d", i);
        }
        i++;
可以看下 c参考手册中的 c语言--for 循环