根据 for循环结构的语法,我们知道 for循环结构中有3个表达式,在语法上,这3个表达式都可以省略,但表达式后面的分号不能省略。如果省略了表达式,要注意保证循环能够正常运行。
● 省略“表达式1”,如下面的 for 循环语句。
for( ; i< 10; i++)
这个 for 循环虽然省略了“表达式 1”,但其后的“;”号没有省略。在实际编程中,如果出现“表达式 1”省略的情况,则需要在 for 语句前给循环变量赋值,因此,可将上面的语句修改如下。
inti=0;
for( ; i<10; i++)
。 省略“表达式2”,即不判断循环条件,循环将无终止运行,也就形成了“死循
环”,如下面的 for 语句。
for(inti=0;;i++)
在编程过程中要避免“死循环”的出现,所以对上面的语句可以做如下修改:一种方法是添加“表达式2”,另一种方法是在循环体中使用 break 强制跳出循环结构。
省略“表达式3”,即不改变循环变量的值,也会出现“死循环”,如下面的语
句。
for(int i=0;i<10;)
这里省略了“表达式3”,变量i的值始终为0,因此循环条件永远成立,程序就会出现“死循环”,在这种情况下,我们可以在循环体中改变1的值,语句如下。
for(inti=0;i<10; ){
i++;
这样就能使循环正常结束,不会出现“死循环”。
注意
3个表达式都省略,即如下语句。
for( ;;)
上面这个语句在语法上没有错,但逻辑上是错误的 。
为了提高代码的可读性,尽量不要省略各个表达式。如果需要省略,可以考虑是否改用 while 或 do-while 循环结构。