1. 没有初始化循环变量
错误代码片段如下:
- for (; i < in; i++) {
- }
错误说明: 没有定义循环变量, 不符合语法要求, 否则会出错. 应该在 for 循环前加
句初始化循环变量 i 的语句, 如 "inti=0;"
2. 没有判断循环体是否结束的条件语句
代码片段如下
- for (int i = 0; ; i++) {
- }
编译正确, 但缺少循环条件, 造成死循环.
应该
- for (int i = 0; i < in; i++) {
- }
3. 没有改变循环体结束的条件表达式值的语句
错误代码片段如下
- for (int i = 0; i < in; ) {
- }
编译通过, 但没有改变循环体结束的条件表达式值的语句, 造成死循环. 应该在循
体中加入改变循环体结束的条件表达式值的语句. 如计 i++
4. 没有满足循环的三个条件
错误代码片段如下
for (; ; ) {
}
编译通过, 因为表达式全部省略, 所以无条件判断, 循环变量无改变, 应在循环体内则是
设法结束循环, 否则会造成死循环, 应该将三个条件加上
来源: http://www.jianshu.com/p/efe01d4f0e44