| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1068 人关注过本帖
标题:关于while语句的问题希望各位大侠给点解释
取消只看楼主 加入收藏
qinbiao
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2010-12-6
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
关于while语句的问题希望各位大侠给点解释
main()
{
    int x=3,y=6,a=0;
    while (x++!=(y-=1))
    {
        a+=1;
        if(y<x)break;
    }
    printf("%d,%d,%d",x,y,a);
}
运行出来结果是 5 4 1
为什么y是4而不是5?a怎么又是1不是3?难道每循环一次(y-=1)都使y的值自减1?a为什么不算+了3次呢
有点不理解 明明循环了3次y的值变了a的值却没变?求解!!!
搜索更多相关主题的帖子: 语句 解释 
2010-12-06 19:53
qinbiao
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2010-12-6
收藏
得分:0 
回复 2楼 tfxanxing
就是初学啊 不懂得很多啊
2010-12-06 19:58
qinbiao
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2010-12-6
收藏
得分:0 
实际运行结果就是x=5 y=4 a=1
while(x++!=(y-=1))时第一次判断时实际上就是while(3++!=5)就是3和5判断成立执行a+=1
第二次判断由于x++  x=4, y初值变成5了y-=1就变成y=4 就是4和4判断 判断条件为假不成立 不执行a+=1所以a直到循环结束还是1
对于if语句x>y输出值 到第二次循环结束 y-=1和y--概念不一样所以还是y=4 第二次循环虽然不成立但是x++却还是自增了2次
所以判定if的时候就是x=5和y=4判定成立输出了x=5 y=4 a=1这样的值
我刚开始学 不知道这么理解是否正确
2010-12-06 21:20
qinbiao
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2010-12-6
收藏
得分:0 
回复 6楼 qinbiao
请问 怎么是2次循环 3次循环条件判断?
我觉得是1次循环2次循环条件判断
如果是2次循环a+=1; 就执行了2次就应该是2了吧
2010-12-06 22:08
qinbiao
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2010-12-6
收藏
得分:0 
回复 7楼 jkf2012
请问 怎么是2次循环 3次循环条件判断?
我觉得是1次循环2次循环条件判断
如果是2次循环a+=1; 就执行了2次就应该是2了吧
2010-12-06 22:10
qinbiao
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2010-12-6
收藏
得分:0 
回复 10楼 jkf2012
谢谢 通过你的解释我明白多了
2010-12-06 22:34
快速回复:关于while语句的问题希望各位大侠给点解释
数据加载中...
 
   



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

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