while(--i)与while(i--)的区别

执行顺序有差别:

while(--i)的语句执行顺序是:先递减i,然后判断递减后的i是否为0,如果不为0则继续执行循环内的代码,直到i的值为0时结束循环。

while(i--)的语句执行顺序是:先使用i的值进行条件判断,然后递减i,最后再根据递减前的i值是否为0来决定是否继续执行循环内的代码。

是否造成死循环:

当i值为非负值时,while(--i)可能造成死循环,因为它是先自减,再判断i的值,如果i的初值为0,循环条件始终为负值就死循环了。而while(i--)是先判断i的值,再执行自减,如果i的初始值为0直接跳出循环。循环结束。

同样的i值执行循环的次数不同:

例如i=5时,while(--i)执行4次循环,而while(i--)执行5次循环。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值