是什么意思"for(;;)"

phi*_*o05 -3 c syntax for-loop

Moin,我刚刚在一些源代码中找到了for循环.

for (;;) {
    // some work
    if (condition) {
       break;
    }
}
Run Code Online (Sandbox Code Playgroud)

这是怎么回事 for (;;)

Sou*_*osh 8

for(;;)是一个无限循环.

C11章§6.8.5.3,for声明中,

语句
for(子句-1 ; 表达式-2 ; 表达式-3)语句的
行为如下:表达式表达式-2是在每次执行循环体之前计算的控制表达式.[...]

和(强调我的)

子句-1表达-3可以省略.省略的表达式-2由非零常量替换.

另外,对于控制表达式的使用

迭代语句导致一个称为循环体的语句被重复执行,直到控制表达式比较等于0. [...]

因此,在所有三个都被移除的情况下,控制表达式被认为是非零的,它永远是真的,因此基本上使它成为无限循环.