用代码深层次理解continue
continue语句和break语句的主要区别在于:continue语句只结束本次循环,而不是终止整个循环的执行,break语句则是结束所在循环,跳出所在循环体。
看代码:
输入玩家年龄,计算输入错误的次数(当输入小于0时表示出错)
#include <stdio.h> main() { int i, age, counter=0; for(i=0;i<5;i++) { printf("请输入您的年龄:"); scanf("%d",&age); if(age>0)continue; else { counter++;} } printf("您输入错误%d次",counter); }
此处可以不要esle语句,因为当age>0时,即if函数正确时continue已经跳出本次循环,不将再继续运行下面的代码,直接再次调到for循环首句。
下面代码与上面代码产生效果类似;
#include <stdio.h> main() { int i, age, counter=0; for(i=0;i<5;i++) { printf("请输入您的年龄:"); scanf("%d",&age); if(age>0)continue; counter++; } printf("您输入错误%d次",counter); }
注意:printf语句与scanf语句应该在for循环语句内,此处容易写在for循环外面而造成出错;
总结:在循环语句里面,出现continue了语句,并且continue语句能正常运行,那么系统会自动跳过循环后面的代码,直接再次调到循环语句首句。