一、 break主要用于循环语句和分支语句(switch...)中:
1)break在循环结构中的作用是终止本层循环,即直接跳出该循环体,执行当前循环体外的语句;
需要注意的是:break只能跳出一层循环。如果你的循环是嵌套循环,则需要按照嵌套的层次逐步使用break来跳出。
2)break在switch中的作用是在执行完一个case分支后立即跳出当前switch结构
二、continue是用于终止本次循环的,也就是本次循环中continue后面的语句不再执行,而是直接跳到while语句的判断部分,进行下一次循环的入口判断
1)要注意的是:在for循环中遇到continue后,不再执行循环体剩下的语句,而是执行for循环中的表达式3,然后执行表达式2。
下面是代码理解:?
#include <stdio.h>
int main(){
int i = 1;
while (i <= 10){
if (i == 5)
break;
printf("%d ", i);
i = i + 1;
}
return 0;
}
该代码块输出为:
1 2 3 4 请按任意键继续...
该代码中由于当 i==5 时,使用 break 直接跳出该循环体,不再执行循环体中的内容,所以只能打印出 1 2 3 4 ,
但如果将代码中的break改为continue,那么程序在正常输出 1 2 3 4 后则会进入死循环,造成死循环的原因是当 i==5 时,使用continue跳出本次循环,继续执行 while(i <= 10),再次进入循环体,形成死循环。
int main(){
int i = 1;
for (i = 1; i <= 10; i++){
if (i == 5)
continue;
printf("%d ", i);
}
return 0;
}
该代码块输出为:
1 2 3 4 6 7 8 9 10 请按任意键继续...
原因是当满足 i==5 的条件后,程序执行表达式3(即i++),然后执行表达式2(即i<=10),现在的 i == 6 满足条件,故能继续执行下去。。。