C语言 已知a=4,b=2,c=3,d=5,表达式a>b?a:c<d?c:d的值为3.

已知a=4,b=2,c=3,d=5,表达式a>b?a:c<d?c:d的值为3.请问为什么不是4呢?我的算法:先算c<d?c:d,结果取c=3变成a>b?a:c,其中a=4... 已知a=4,b=2,c=3,d=5,表达式a>b?a:c<d?c:d的值为3.
请问为什么不是4呢?
我的算法:先算c<d?c:d,结果取c=3
变成a>b?a:c,其中a=4,c=3
再算a>b?a:c,结果取a=4;
请问为什么不对呢,之前一直这么算答案都对了呀。。。麻烦说明一下,谢谢!
展开
 我来答
wchyumo2011
2015-06-07 · TA获得超过2万个赞
知道大有可为答主
回答量:5810
采纳率:79%
帮助的人:2773万
展开全部

你的算法是错的,但结果是4,需要加括号a>b?a:(c<d?c:d)这样才是对的

先算a>b?由于a=4, b=2所以a>b为真,取a的值,后面的就不计算了。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式