C语言-break和continue

continue语句只结束本次循环,而非终止整个循环执行;

break语句结束整个循环过程,不再判断执行循环的条件是否成立。

例:输出以下4*5的矩阵
#include <stdio.h>
int main()
{
    int i,j,n=0;
    for(i=1;i<=4;i++)//外循环:i从1到4 控制行数
      for(j=1;j<=5;j++,n++)//内循环:j由1到5 控制列数
      {
          if(n%5==0) printf("\n");// {1}  特殊情况优先考虑
//              if(i==3&&j==1)break;
            printf("%d\t",i*j);    
    }           

     return 0;  
} 
//第一次外循环 i=1,j由1变到5 i*j为1,2,3,4,5
//第二次外循环 i=2  j由1变到5 i*j为2,4,6,8,10
//n的初值为0 每进行一次内循环 n的值加1 到n=5 时满足{1} 换行
if(n%5==0){
          printf("\n");}
        else{
            printf("%d\t",i*j);} //内循环是不能这样写的 题目要求是一行输出5个数就换行 
                                 //这样写的话就是只换行不输出了 不是 是或不是的关系 

如果在这里做一些改动 在第九行添加 if(i==3&&j==1)break;
#include <stdio.h>
int main()
{
    int i,j,n=0;
    for(i=1;i<=4;i++)//外循环:i从1到4 控制行数
      for(j=1;j<=5;j++,n++)//内循环:j由1到5 控制列数
      {
          if(n%5==0) printf("\n");// {1}  特殊情况优先考虑
              if(i==3&&j==1)break;
            printf("%d\t",i*j);    
    }           

     return 0;  
} 
//第一次外循环 i=1,j由1变到5 i*j为1,2,3,4,5
//第二次外循环 i=2  j由1变到5 i*j为2,4,6,8,10
//n的初值为0 每进行一次内循环 n的值加1 到n=5 时满足{1} 换行

输出结果将变成这样

在i=3且j=1的时候,break提前终止内循环(整个内循环都结束) 开始第四次外循环,i=4。

如果改为 if(i==3&&j==1)continue;

输出结果则变为

这里continue仅仅结束了当i=3,j=1的这一次循环,‘3’无法输出 而内循环并没有结束 继续进行i=3,j=2的这次循环 输出6.

break结束整个循环 也不再判断m是否大于50

#include <stdio.h>
int main()
{
    int i;
    for(i=1;i<=5;i++){
    if(i%2!=0)
        printf("<");//i等于1,3,5时输出
    else
        continue;//i等于2,4时结束本次循环
 
        printf(">");//是i等于1,3,5时输出的>号
    }
    printf("$");//i等于6时跳出上述循环 
    return 0;
}

输出结果

把continue 改成break的结果

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值