C 循环跳出 break 、continue

在使用while 或者 for语句时候, 当遇到某些情况不满足,我们需要跳过当前当次循环,或者跳出循环体,我们就需要到 break 或者 continue。

break

当break语句用于 while、for 循环语句中时,会终止循环而执行循环语句后面的代码。break语句通常和 if 语句一起使用,即满足条件时便跳出循环。

使用while循环计算1加到100的值:

#include <stdio.h>
int main(){
    int i=1, sum=0;
    while(1){  //循环条件为死循环
        sum+=i;
        i++;
        if(i>100) break;
   }
    printf("%d\n", sum);
    return 0;
}

运行结果:

5050

while循环条件为 1,是一个死循环。当执行到第100次循环的时候,计算完i++;后 i 的值为 101,此时 if 语句的条件 i> 100 成立,执行break;语句,结束循环。

continue

continue语句的作用是跳过循环体中剩余的语句而强行执行下一次循环。continue语句只用在 while、for 循环中,常与 if 条件语句一起使用,判断条件是否成立。

#include <stdio.h>
int main(){
    int i=1, sum=0;
    for(i=1;i<10;i++){  
        if(i%2 == 0){
            continue;
        }
        sum+=i;
   }
    printf("%d\n", sum);
    return 0;
}

这个小例子求1到10内的奇数和。

if(i%2 == 0){
   continue;
}

当i%2 == 0的时候,就会跳过当次循环,然后执行下次循环。所以只会相加 1 + 3 + 5 + 7 + 9 = 25

break与continue的对比:
break 用来结束当前所有循环,循环语句不再有执行的机会;
continue 用来结束本次循环,直接跳到下一次循环,如果循环条件成立,还会继续循环。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容