| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3195 人关注过本帖
标题:关于printf("%d\n", b <= a<c);的问题
只看楼主 加入收藏
阿邋
Rank: 2
等 级:论坛游民
帖 子:84
专家分:41
注 册:2009-3-6
结帖率:95.65%
收藏
已结贴  问题点数:20 回复次数:16 
关于printf("%d\n", b <= a<c);的问题
呵呵,对不起 啊。这回说清楚一点了
printf("%d\n", b <= a<c);
不管b ,a ,c 是什么数字(只要是大于1的数)
printf会一直答应1。 为什么啊??
 根据运算符的优先级 应该说 a<c 高,这样应该不会一直是1 的啊??

俺搞不通?

[ 本帖最后由 阿邋 于 2010-3-28 13:08 编辑 ]
搜索更多相关主题的帖子: printf 
2010-03-28 11:08
lingyunhappy
Rank: 2
等 级:论坛游民
帖 子:40
专家分:45
注 册:2010-3-8
收藏
得分:0 
不知道你说的是什么
2010-03-28 11:15
ohyeas
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2010-3-28
收藏
得分:0 
   叙述不明确!
2010-03-28 11:36
ldg628
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:3
帖 子:526
专家分:3036
注 册:2009-6-23
收藏
得分:5 
你可以按符号的运算顺序来算.
首先是b<=a,不管它成不成立,该表达式的值只能是0或者1,如果你的c是大于1的数,则原表达式肯定为真,如果c小于0,则必为假,无论你的a是多少
如果你想找一个a,它大于等于b并且小于c的,应该这样写:b<=a && a<c,估计这才是楼主想要的
2010-03-28 11:50
何少仪
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:91
专家分:170
注 册:2010-3-6
收藏
得分:0 
b <= (a<c)  这样写,运算符优先级。。

[b] 你要有勇气去听从你直觉和心灵的指示,所有其他的事情都是次要的。
2010-03-28 12:38
qq113551470
Rank: 2
等 级:论坛游民
帖 子:13
专家分:12
注 册:2010-3-11
收藏
得分:0 
四楼说的对吧   你的式子中你输入的abc只要是大于一的数系统都会默认为整个表达式是真,所以输出1
2010-03-28 22:56
kingsroot
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:284
专家分:1159
注 册:2010-3-28
收藏
得分:0 
这个程序首先是比较b<=a,不管b<=a是真或者是假,真的话就返回1,假就返回0,然后再拿返回的值作比较,所以只要c大于1,肯定就返回1,printf一直输出1
2010-03-28 23:00
阿邋
Rank: 2
等 级:论坛游民
帖 子:84
专家分:41
注 册:2009-3-6
收藏
得分:0 
不是啊,应该是 a<c 的优先级高的啊??

我并不具有我想要的一切,只是我所有的都是我想要的!
2010-03-28 23:07
kingsroot
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:284
专家分:1159
注 册:2010-3-28
收藏
得分:5 
这2个运算符都是一样的 都是右结合性
2010-03-28 23:23
ldg628
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:3
帖 子:526
专家分:3036
注 册:2009-6-23
收藏
得分:5 
<  <=  >  >= 这四个关系运算符的优先级是相同的,计算顺序是从左到右,也就是说 先 b<=a ,再用它得出的结果与c比
2010-03-28 23:26
快速回复:关于printf("%d\n", b <= a<c);的问题
数据加载中...
 
   



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

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