标签: c
这个计算背后一定有一些逻辑。但我无法得到它。正常的数学不会导致这种行为。任何人都可以帮我解释原因
printf ("float %f \n", 2/7 * 100.0);会导致打印1.000000
printf ("float %f \n", 2/7 * 100.0);
为什么这样?我不明白原因
答案 0 :(得分:4)
整数除法。 2/7 = 0为整数,0 * 100.0 = 0.0为浮点数。
2/7 = 0
0 * 100.0 = 0.0
请2.0/7 * 100.0获得您正在寻找的答案。
2.0/7 * 100.0