C语言 若float x=2.0,y=1.0; , 则条件表达式x>y?1:1.5的值为1.

若floatx=2.0,y=1.0;,则条件表达式x>y?1:1.5的值为1.为什么不对?麻烦解释解释,谢谢!... 若float x=2.0,y=1.0; , 则条件表达式x>y?1:1.5的值为1.
为什么不对?麻烦解释解释,谢谢!
展开
 我来答
啊啊啊的帝国号
2015-06-04 · TA获得超过534个赞
知道小有建树答主
回答量:150
采纳率:0%
帮助的人:42.5万
展开全部
表达式的值
这个值的类型,是参与运算中的类型级别最高的那个类型
类型级别 浮点型最高,整型次之,字符最低
也就是说x>y?1:1.5 这个表达式他的值的类型是浮点型

最后的结果是1.0,而不是1
985967518
推荐于2018-03-29 · 知道合伙人教育行家
985967518
知道合伙人教育行家
采纳数:18027 获赞数:109863
14年本科毕业于河南理工大学,至今就读于河南理工大学攻读硕士学位,从事编程学习已有5年。

向TA提问 私信TA
展开全部
是的,结果为1
条件表达式:条件?表达式1:表达式2;是三目运算符,如果?前面的条件成立,则表达式的值就是表达式1的值,否则是表达式2的值。

x>y?1:1.5的条件是x>y即,2>1成立,所以表达式值就是1而不是1.5。
所以条件表达式最终的值为1。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
a1012144015
2016-01-09 · TA获得超过6415个赞
知道大有可为答主
回答量:9038
采纳率:40%
帮助的人:1342万
展开全部
这是一个三目运算符。
x>y整个表达式为1.0;
否则为1.5.
表达式的值
这个值的类型,是参与运算中的类型级别最高的那个类型
类型级别 浮点型最高,整型次之,字符最低
也就是说x>y?1:1.5 这个表达式他的值的类型是浮点型
最后的结果是1.0,而不是1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wchyumo2011
2015-06-04 · TA获得超过2万个赞
知道大有可为答主
回答量:5810
采纳率:79%
帮助的人:2806万
展开全部

因为x=2.0,y=1.0所以x>y为真,所以取问号后的第一个值:1

?:是三目运算符

例如x>y?1:1.5等价于:

if (x > y)return 1;
else return 1.5;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式