中易网

c++输出不是小数floata;a=5/18;cout<<a;得出的结果为什么是0,而不是小数?

答案:2  悬赏:10  
解决时间 2021-12-13 18:23
c++输出不是小数floata;a=5/18;cout<<a;得出的结果为什么是0,而不是小数?
最佳答案
因为5,18都是整数,所以5/18的结果也是按整数处理的,商为0,结果就是0,虽然最后赋值给了float类型,但在赋值之前,运算的结果已经是0了。
正确的写法:
a = 5.0 /18;
或a=(float)5/18;
或a=1.0*5/18;
这样,数据都会被转换为浮点类型进行计算,结果就正确了。
全部回答
搜一下:c++ 输出不是小数 float a; a=5/18; cout<
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯