| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1586 人关注过本帖
标题:&&和||
只看楼主 加入收藏
粉jj
Rank: 2
等 级:论坛游民
威 望:1
帖 子:123
专家分:82
注 册:2011-3-8
结帖率:85.11%
收藏
已结贴  问题点数:10 回复次数:7 
&&和||
int a=2,b=3,c=4;
那么表达式:(a>b)&&!c||1的值是0还是1??
搜索更多相关主题的帖子: 表达式 
2011-11-11 11:07
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:3 
1啊

授人以渔,不授人以鱼。
2011-11-11 11:09
liao06550107
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:111
专家分:696
注 册:2011-10-2
收藏
得分:3 
1(优先级&&大于||且运算从左至右)&&只要一遇到假就为假,表达式变为0||1,最终结果为真。

听不同的音乐,看不同的书,游历不同的城市,邂逅不同的人,走的多了,站的高了,自然就看的远了。
2011-11-11 11:37
qp785210028
Rank: 2
等 级:论坛游民
帖 子:37
专家分:52
注 册:2011-10-31
收藏
得分:3 
   1 为真
2011-11-11 11:43
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
这跟运算顺序无关的。数理逻辑运算,“或”是加减法,“与”、“非”是乘法,先乘除后加减,||在前在后都一样。要强制改变运算顺序,必须用括号拆散默认的运算逻辑。

a && b || c的数理逻辑表达式是ab+c,c为真,则值必为真,与ab无关。对某些编译器来说,它甚至会用短路优化算法跳过a、b的求值,此时陷阱就大了(比如有人要靠a、b做点赋值、动作之类的副作用时)。这种在书写时就确知答案的逻辑运算,不要这样写,答题狂才热衷做这样的题目,对实际编程其实无益。

在同一行不要假定或依赖运算顺序,这是现代编程设计的原则。编译器可以改变运算顺序,CPU也可以改变运算顺序,这是以前的技术人员无法想像的,不要再抱着老旧的技术书看。(i++,++i)之类,即是因此。

[ 本帖最后由 TonyDeng 于 2011-11-11 11:54 编辑 ]

授人以渔,不授人以鱼。
2011-11-11 11:49
xp0213
Rank: 7Rank: 7Rank: 7
来 自:湖北武汉
等 级:黑侠
威 望:1
帖 子:222
专家分:524
注 册:2011-10-26
收藏
得分:0 
1 ,注意优先级。
2011-11-12 02:50
鳌头观月
Rank: 1
来 自:南京
等 级:新手上路
帖 子:13
专家分:0
注 册:2011-11-10
收藏
得分:0 
!的优先级大于&&,&&的优先级大于||
结果1
2011-11-14 22:33
OYF5457
Rank: 1
等 级:新手上路
帖 子:4
专家分:2
注 册:2011-11-14
收藏
得分:0 
当然是1
2011-11-14 23:07
快速回复:&&和||
数据加载中...
 
   



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

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