循环结构的循环条件为自增或自减表达式

还可以参考本文

 后减减,什么时候减减,参考该文

 1、--a   //前减减

int a = 2;
while(--a>0){}

a=1,执行循环体;

a=0,退出循环。

完全等价于: 

int a = 2;
a--;
while(a>0){
a--;
//do sth.
}

 a=1,执行循环体;

a=0,退出循环。

 2、a--    //后减减

int a = 2;
while(a-->0){}

 2>0,a==1,执行循环体;

1>0,a==0,执行循环体;

0不大于0,a==-1,退出循环。

并非完全等价于: 

int a = 2;
while(a>0){
a--;
//do sth.
}

因为,while(a-->0) 自减条件在while循环中,即使条件不符,后减的a,仍会执行;

但如果a--放在了循环体中的话,后减的a就不会执行了。所以,二者的区别是a的区别:放在循环条件的a比放在循环体中的a大1。

即:等价于以下程序。

int a = 2;
while(a>0){
a--;
//do sth.
}
a--;

 a==2,执行循环;

a==1,执行循环;

a==0,退出循环;

a--;  //a==-1;

由程序测试可知,在执行完while(ab-->0)后,变量ab已经执行了--操作了。 

3、总结:

自增或自减运算符放在循环条件中,代码更加简洁。 

好多情况下,我们将表达式放在循环条件中,

比如:

while(getchar())

4、while循环与for循环的区别

//while循环中的i++位置更加灵活
int i = 0;
while(i<10)
{
    i++;//i++可以放在循环体的前面
    //do sth.
    i++;//i++可以放在循环体的最后
}

//for循环中的i++,完全等价于i++在while循环体末尾的情况,只有执行了循环内容,才会执行i++

for(int i = 0;i<10;i++){}

  • 6
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值