c++中是怎么比较大小的

以我书本例题为例:a>b>=c>da=1b=2c=0d=4关系运算符优先级相同,所以从左到右依次计算,先计算a>b的值为false,然后计算false>=c,应为“>=”... 以我书本例题为例:
a>b>=c>d
a=1 b=2 c=0 d=4
关系运算符优先级相同,所以从左到右依次计算,先计算a>b的值为false,然后计算false>=c,应为“>=”两边的数据类型不一样,布尔类型false转换为整形0,0>=0比较结果为true,最后计算true>3,true转换为数值型1,1>4比较结果为false,所以整个表达式的结果为false。
书上是这么写的 可是我看不明白
如果4>3>2这个要是比较的话4>3为true,转整形为1,1>2为false,难道说4>3>2是错的??不会吧,请高手详细的解释下 谢谢啊
展开
 我来答
cuenk
2011-02-14 · TA获得超过2.2万个赞
知道大有可为答主
回答量:2335
采纳率:71%
帮助的人:977万
展开全部
对,4>3>2是错的,如果要比较,要分开来比较,不能混在一起.关系运算与数学中的关系运算是不完全一样
写成:
4>3
3>2
才能得出正确的比较
百度网友6c4d48956
2011-02-14 · 超过40用户采纳过TA的回答
知道小有建树答主
回答量:104
采纳率:0%
帮助的人:109万
展开全部
在c++里 4>3>2 结果为FALSE

先看运算符优先级,,再看结合方式是左结合还是右结合

C++的优先级
优先级 操作符 结合性
1 :: 左
2 . -> [] () 左
3 ++ -- ~ ! - + & * () sizeof new delete castname_cast<type> 单目操作符 右
4 .* ->* 左
5 * / % 左
6 + - 左
7 << >> 左
8 < <= > >= 左
9 == != 左
10 & 左
11 ^ 左
12 | 左
13 && 左
14 || 左
15 ?: 右
16 = *= /= %= += -= <<= >>= &= |= ^= 右
17 throw 左
18 , 左
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ldhtxy520
2011-02-14 · TA获得超过153个赞
知道小有建树答主
回答量:61
采纳率:0%
帮助的人:97.3万
展开全部
4>3>2
先 4>3 结果为1 再 1>2 结果为0 即false
C、C++中的关系运算,与数学中的关系运算是完全不一样的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式