| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 499 人关注过本帖
标题:这个程序为什么输出来是3,不应该是2吗?
只看楼主 加入收藏
civilherui
Rank: 2
来 自:陕西榆林
等 级:论坛游民
威 望:2
帖 子:67
专家分:97
注 册:2015-1-18
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
这个程序为什么输出来是3,不应该是2吗?
这个程序为什么输出来是3,不应该是2吗?求大神解释一下
#include<stdio.h>
main()
{
    int a=5,b=4,c=3,d=2;
    if(a>b>c)
    printf("%d",d);
    else if((c-1>=d)==1)
    printf("%d\n",d+1);
    else
    printf("%d\n",d+2);
}
2015-01-21 17:07
vvvcuu
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:12
帖 子:353
专家分:1253
注 册:2014-4-22
收藏
得分:20 
程序代码:
#include<stdio.h>
main()
{
    int a=5,b=4,c=3,d=2;
    if(a>b>c)                   //a>b>c等价于(a>b)>c,a>b是真,所以(a>b)=1,而1>c为假,所以第一个printf()不执行,执行下面的else if
    printf("%d",d);
    else if((c-1>=d)==1)        //c-1=2,2>=2=d为真,所以(c-1>=d)=1,1==1为真,所以这个if可以执行,下面的printf()得到执行,下面的else就不再执行.
    printf("%d\n",d+1);
    else
    printf("%d\n",d+2);
}

很基础的东西.

代码测试环境:  WinXP+C-Free5.0.
2015-01-21 17:14
civilherui
Rank: 2
来 自:陕西榆林
等 级:论坛游民
威 望:2
帖 子:67
专家分:97
注 册:2015-1-18
收藏
得分:0 
回复 2楼 vvvcuu
万分感谢

我走向的将是机械、电子、编程的集成之路。
2015-01-21 17:27
快速回复:这个程序为什么输出来是3,不应该是2吗?
数据加载中...
 
   



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

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