| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1811 人关注过本帖
标题:while循环中的b--
只看楼主 加入收藏
chenyuechen
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2016-1-3
结帖率:80%
收藏
已结贴  问题点数:20 回复次数:4 
while循环中的b--
#include <stdio.h>
void  main ()
{
    int i,b,k=0;
    for(i=1;i<=5;i++)
    {
       b=i%2;

    while(b-->=0)
    //如果把红色的改成for(b=i%2;b>=0;b--)   得出来的值,while中的b值是-2,为什么,,,我明白b--,是赋值完后再自减,,而for,b值是-1比较好理解
        {
        k++;
        }
    }
        printf("%d,%d",k,b);
}



2016-03-03 13:18
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:7 
改成for后,b=-1,原来的代码中b=-2。,刚开始b=5%2=1,下面演示过程。
1. b--,b=1>=0,b=0;
2. b--,b=0>=0,b=-1;
3. b--,b=-1<0,b=-2;  //主要是上面虽然b=-1<0,但while还要再循环一次,所以b=-2。

   唯实惟新 至诚致志
2016-03-03 13:34
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:7 
while(b-->=0)  只有bt才这么写代码  大概作者本意是 (b--)>=0  很容易误解 (b-->)=0  这就啥也不是了

DO IT YOURSELF !
2016-03-03 13:37
孤狼A组
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:73
专家分:121
注 册:2015-9-8
收藏
得分:7 
b=0的时候,由于0〉=0所以,循环继续执行,循环条件判断了之后b--,b变成了-1,然后-1去和0比较的时候,虽然说不满足循环条件,但是还是会执行b--.而for语句中,循环条件不满足就不会去执行接下来的b--.
2016-03-03 13:46
chenyuechen
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2016-1-3
收藏
得分:0 
回复 2楼 qq1023569223
可不可以理解为,while表达式由两个语句,虽然,语法上不行,int a  ; while (a=b--;a>=0)新手一枚,老大别喷啊
2016-03-03 14:05
快速回复:while循环中的b--
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014625 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved