C++中定义float a;a=2⼀3;但输出结果为0.a=3⼀2,输出结果为1.为什么哇??

2025-02-25 14:35:11
推荐回答(3个)
回答1:

当然了。
2/3是整型运算,结果为整型,结果为0,将0赋给变量a,a=0
同样道理,3/2是整型运算,结果为整型,结果为1,将1赋给变量a,a=1
并不是定义a为float型,就能影响到等式右边的计算,等式右边还是整型运算。
要想得到a的实际值,可用a=2.0/3;或a=2/3.0或a=2*1.0/3,就是等式右边要引入浮点型进行计算。

回答2:

2/3是个整数表达式。你可以写成2.0/3,2.0/3.0,2/3.0,(float)2/3或者float a=2; a /= 3
都可以。

回答3:

在c++中输出小数要定义精度