浅谈:C/C++中for( ; ; )和while(1)的区别

有两种写死循环的方式,即:for(; ;)和while(1),但是这两种哪个效率高呢?其实也说不准,今天我来和大家简单说一下吧!

首先要说明的是两者之间的效率高低最重要的还是取决于编译器是否有优化!

  • 当编译器对程序不做优化时,两者的效率高低都差不多,编写时看个人喜好和习惯吧!

  • 当编译器对程序有优化时,for(; ;)效率更高一点,有如下几个原因:

(1)两个“;”都是空语句,因此编译器对齐进行了优化,直接进入循环体,而while(1)相当于是一个表达式,每循环一次,程序都需要判断一次要进入的常量是否等于0,因此相对来说for循环的死循环就比较高效一些;
(2)for(; ; )相当于是7个字符,而while(1)是8个字符,因此for的死循环高效一些。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值