for(;1;)
在C语言中它意味着什么?
它是否与for(;;)
无限循环意义相同?
我知道输入1的位置是变量的条件部分,但在这个for循环中,我不相信它是无限循环.
根据C标准(6.8.5.3 for声明)
2可以省略clause-1和expression-3.省略的表达式-2由非零常量替换.
所以事实上你自己而不是编译器用非零常量1替换省略的表达式-2.
所以这两个陈述
for(;1;) { /*...*/ }
Run Code Online (Sandbox Code Playgroud)
和
for(;;) { /*...*/ }
Run Code Online (Sandbox Code Playgroud)
是完全相同的.
在我看来,写作要好得多
while ( 1 ) { /*...*/ }
Run Code Online (Sandbox Code Playgroud)
而不是上面显示的语句.