float f=44268/107402;
printf("\n%f",f);
输出:
0.000000
这怎么可能发生!
我在win 7上使用了pelles c ide。
答案 0 :(得分:5)
编译器将操作数视为整数。尝试:
float f = 44268.0 / 107402;
^
或者
float f = (float)44268 / 107402;
答案 1 :(得分:2)
Integer division truncates
float f=44268.0/107402;
使一个数字浮动将自动提升另一个数字ti float,最终以浮点结果结束。
答案 2 :(得分:0)
float f = 44268 / 107402;
变量将使用整数值初始化。你应该添加一个浮点,向编译器说你想要一个浮点值。
float f = 44268. / 107402.;