for循环可以改为while循环,但有些情况下会导致错误,比如当循环内有continue语句时
例子:一个循环语句,循环输出1到9间除2外的所有数字(若i等于2执行continue语句跳出此次循环,不执行此次循环的输出语句)
for循环
#include
while循环
#include
结果分析:
while循环结果并非预期的13456789,而是一个1,并且一直未执行完毕。
分析代码可知循环的运行过程为:
for循环:计数器赋初值1,条件判断,执行循环体,计数器自加,条件判断……
while循环:计数器赋初值1,条件判断,执行循环体(计数器自加),条件判断……
执行continue语句直接跳出第2次循环后,for循环执行计数器自加语句,计数器变为3;
但while循环则直接跳过循环内的计数器自加语句,执行条件判断语句,故计数器值一直为2并循环判断,循环跳出永无休止,故窗口只输出了一个1。