如果int a=1,b=2,c=3,d=4则printf("%d,a>b?a:c<d?c:d");的结果为什么是3

 我来答
手机用户75859
2014-06-26 · 超过49用户采纳过TA的回答
知道答主
回答量:100
采纳率:0%
帮助的人:121万
展开全部
a>b?a:c<d?c:d 就是 a>b?a:(c<d?c:d) 意思是如果a>b就返回a,否则就返回c<d?c:d c<d?c:d就是如果c<d就返回c,否则返回d. 很明显,c<d,所以后面返回的是c=3. 这边的话整句话就是a>b?a:3 如果a>b就返回a,否则返回3. 明显a<b,所以返回3. 这种运算是从右边第一个冒号为一个点,开始计算, 先算:d,结果是d,再算 c<d?c:3,结果是3,再算a>b?a:3

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

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式