c语言编程题,为什么选A呢?

如题所述

图中是一个a?b:c选择表达式,a若为真,整个表达式的值就为b,a为假,表达式的值就为c,题目中应该是一个a?b:c?d:e的嵌套表达式,当a为真时,将b的值赋给y,a为假,再判断c,若为真,将d赋给y,为假就将e赋给y,这样你比较一下选择项中的式子的功能就知道了,最好能够在软件中调试一下,看它的逻辑是不是这样
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-04-27
题目里的话你需要拆分一下~
首先y=不去管它,接着x>0?x:...这个就是如果x大于0为真就选第一个(就是x),如果是假就选后面的~
;那么我们再来分析后面省略号里的内容~x<0?-x:0如果x小于0为真,那么我就取负数的x(就是前者),也就是取绝对值的事情,如果是假就选择0赋值给y
其实整一句话就是y=(x>0?x:(x<0?-x:0)),我标记了括号的可以看成一个整体~那么自信看就是两个三目运算符
<表达式1>?<表达式2>:<表达式3>; "?"运算符的含义是: 先求表达式1的值, 如果为真, 则执行表达式2,并返回表达式2的结果 ; 如果表达式1的值为假, 则执行表达式3 ,并返回表达式3的结果。
望采纳~本回答被网友采纳
第2个回答  2015-04-27
? : 是3目运算符
比方 A?B :c
A成立执行B 否则执行C
能搞明白吗
i= (3 》2 ? 5:1)
如果3大于2 执行5 否则执行 1
第3个回答  2015-04-27
x>0?x:(x<0?-x:0)
第4个回答  2015-04-27
没问题啊追答

就是选A

就是选A