虽然讲break和continue都是比较基础的语句,但由于自己基本功不扎实,时常在这一块犯迷糊。
写下这篇文章来加深自己的记忆!
一、break语句
break语句用来结束当前正在执行的循环(for;while;do...while)结构或多路分支(switch)结构,转而执行这些结构后的语句,注意:break语句一次只跳出一个循环,即break所在的最内层循环,若要跳出多重循环,需要使用goto语句,在switch语句中,break直接跳出switch,执行switch结构后的语句。
示例程序1:
#include <stdio.h> int main() { int i = 5,n = 0; while(i--) { if(i == 3) break; else if(i == 1) n = 6; } n = n + 5; printf("i=%d\n",i); printf("n=%d\n",n); return 0; }
当i=3时,break直接跳出while循环,执行n=n+5,最后n=5,。最终输出结果为i=3,n=5。
二、continue语句
continue语句只能应用在循环(for;while;do...while)结构中,其作用是跳过循环体中尚未执行的部分,接着进行下一次循环条件的判断,直到循环条件不成立时才跳出循环。
示例程序2仅将1中的break替换为continue,最终得到完全不一样的结果。
#include <stdio.h> int main() { int i = 5,n = 0; while(i--) { if(i == 3) continue; else if(i == 1) n = 6; } n = n + 5; printf("i=%d\n",i); printf("n=%d\n",n); return 0; } 最后的输出结果为:i=1,n=11,具体程序执行步骤可以自己推导。
最后的输出结果为:i=1,n=11,具体程序执行步骤可以自己推导。