| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 450 人关注过本帖
标题:帮我看一下贴中两端程序的区别
只看楼主 加入收藏
caoqiangkill
Rank: 2
等 级:论坛游民
帖 子:18
专家分:10
注 册:2010-5-28
结帖率:83.33%
收藏
已结贴  问题点数:10 回复次数:4 
帮我看一下贴中两端程序的区别
#include<stdio.h>
main()
{
    int x=3,y=6,a=0;
    while(x++!=y--)
    {
        a++;
        if(y<x) break;
        }
        printf("%d %d %d",x,y,a);
    }
输出结果为:5 4 2 ;
#include<stdio.h>
main()
{
    int x=3,y=6,a=0;
    while(x++!=(y-=1))
    {
        a++;
        if(y<x) break;
        }
        printf("%d %d %d",x,y,a);
    }
输出结果:5 4 1 ;
     麻烦高手指点一二,最好能告诉我原因。
2010-06-01 14:59
myhnuhai
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:3
帖 子:425
专家分:1725
注 册:2010-3-17
收藏
得分:5 
#include<stdio.h>
main()
{
    int x=3,y=6,a=0;
    while(x++!=y--)//区别就在这里,这里是x加1,然后y与x进行判断,判断完后才减1;也就是说这个是y先判断再减1,而下面的是先减1在进行判断!所以第一个运行了两次,第二个运行了一次1

    {
        a++;
        if(y<x) break;
        }
        printf("%d %d %d",x,y,a);
    }
输出结果为:5 4 2 ;
#include<stdio.h>
main()
{
    int x=3,y=6,a=0;
    while(x++!=(y-=1))//区别就在这里,这里是x加1,y先减1,再与x进行判断!
    {
        a++;
        if(y<x) break;
        }
        printf("%d %d %d",x,y,a);
    }

不要让肮脏的记忆,迷失了原本纯洁的心灵!
2010-06-01 15:19
chenaiyuxue
Rank: 5Rank: 5
来 自:山东滨州
等 级:职业侠客
帖 子:334
专家分:370
注 册:2008-5-20
收藏
得分:5 
注意++或--后缀是先操作后加减就行了
1.
loop1: 3 != 6
       x = 4; y = 5;
       a = 1;
       y > x; 循环继续
loop2: 4 != 5
       x = 5; y = 4;
       a = 2;
       y < x;跳出循环
2.
loop1: 3 != 5
       x = 4; y = 5;
       a = 1;
       y > x; 循环继续
loop2: 4 == 4
       下面的循环体不会再执行
       但x仍然会加1,所以x = 5

你是雪,我是尘埃,相遇是意外;你坠落,在我胸怀,流进我血脉。
2010-06-01 15:37
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 
视力不好, 看错了,/

[ 本帖最后由 BlueGuy 于 2010-6-1 18:36 编辑 ]

我就是真命天子,顺我者生,逆我者死!
2010-06-01 18:24
a8979595
Rank: 2
等 级:论坛游民
帖 子:34
专家分:54
注 册:2010-5-31
收藏
得分:0 
二楼的讲解正确的,因为是后缀所以要先参与运算再自减1
2010-06-01 18:41
快速回复:帮我看一下贴中两端程序的区别
数据加载中...
 
   



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

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