float y=2+2/3;
输出:2
为什么浮动无法处理2/3? 我的猜测是float将2/3解释为整数。 但是为什么它在开始时会接受2?
答案 0 :(得分:2)
那是整数除法。你基本上是在计算:
float y = 2 + (2 / 3);
float y = 2 + (0 );
float y = 2;
尝试:
float y = 2 + 2.0 / 3;
答案 1 :(得分:1)
float y = 2 + (float)2 / 3;
只需进行类型转换,它也可以正常工作。