c语言break和continue语句

break和continue都是我们经常在循环语句中使用,break的作用是直接结束循环,通常在switch case中搭配一起使用,若满足条件执行的break语句则循环直接结束,这个不是很难理解。

2930bf66cefd46eb8bbdf33034d72b87.png

比如这个代码,i的初值是1,第一次满足循环条件i<=10,执行if语句,不满足if的条件,所以不执行if后面的break(在没有大括号的情况下,if语句若满足条件只默认执行后面的一条语句,若要执行多条语句要写在大括号里),直接执行后面的printf和i++,i原本是1,执行完i++之后i加一变成2,然后再次回到循环的条件判断部分,就这样经过四次循环后i的值变成了5,然后终于满足了if的条件,执行break后直接结束循环。在这个过程中,printf语句执行了四次,所以代码执行结果为:

8be7bc344423487d8372e9b743a44557.png

continue的作用是跳过continue后面的语句,不再执行,直接再次进入循环条件判断的部分继续执行,注意,这里是跳出一次循环,而不是直接跳出循环,像我一样的新手在写代码时可能会有点搞不清楚,那举例来说明吧

ecb590a817334a17aacfd624aca26a2b.png

在这个代码中,还是从main函数的第一句开始执行,前面的步骤跟上面提到的一样,然后经过四次循环后i的值变成了5,满足if的条件,继续执行后面的continue,执行完continue之后我们说它会跳过后面的语句然后直接来到 循环的条件判断部分继续下一次的循环,那如果这样的话,大家可以猜一下结果是什么,是打印出1 2 3 4吗,我们可以看一下

703d15336110492dbc0e741881bbec29.png

这里我们可以看到在打印完1 2 3 4之后代码并没有直接结束,而是陷入死循环了。原来是这样,之前说执行完continue之后来到了while循环的判断部分,此时因为跳过了后面的代码i++,所以i的值没有变,还是5,所以满足循环的条件,又到了if的判断条件,仍然满足,接着又执行了continue,又跳过了后面的代码,再次来到了循环的条件判断部分,接着就这样陷入死循环了,因为i的值一直都没有变。

那怎么办呢,我们知道是因为i的值一直都没有改变所以才没办法结束循环,之前i++都被直接跳过了,能不能让它没办法跳过呢,可以的,直接把i++放在前面不就行了

9877c6c4676d4b238e11d4ff54c57ec8.png

我们只需将i++放在if语句之前,执行完continue之后来到循环的条件判断部分,条件满足后会进去依次执行后续的语句,有了可以调整i值的机会就不会陷入死循环了。 

本次分享就到此为止,如果对你有帮助的话,或许老铁们可以给博主一键三连浅浅鼓励一下呦!

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值