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.
为什么不对?麻烦解释解释,谢谢! 展开
为什么不对?麻烦解释解释,谢谢! 展开
4个回答
推荐于2018-03-29 · 知道合伙人教育行家
关注
展开全部
这是一个三目运算符。
x>y整个表达式为1.0;
否则为1.5.
表达式的值
这个值的类型,是参与运算中的类型级别最高的那个类型
类型级别 浮点型最高,整型次之,字符最低
也就是说x>y?1:1.5 这个表达式他的值的类型是浮点型
最后的结果是1.0,而不是1
x>y整个表达式为1.0;
否则为1.5.
表达式的值
这个值的类型,是参与运算中的类型级别最高的那个类型
类型级别 浮点型最高,整型次之,字符最低
也就是说x>y?1:1.5 这个表达式他的值的类型是浮点型
最后的结果是1.0,而不是1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为x=2.0,y=1.0所以x>y为真,所以取问号后的第一个值:1
?:是三目运算符
例如x>y?1:1.5等价于:
if (x > y)return 1;
else return 1.5;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |