Sonic_DrinKer @ 2024-02-18 00:12:17
printf("%.d\n", (int)(log10(2) * n + 1));
printf("%.0f\n",log10(2) * n + 1);
这两段代码有什么区别?下面的一个样例:
86243
上边输出25962,是正确答案; 下边输出25963,比正确答案大1
by __My0217__ @ 2024-02-18 00:33:34
一个向0取整,一个四舍五入(?
by Sonic_DrinKer @ 2024-03-19 14:45:16
@My0217 这两个应该都是截取的,但是%。0f似乎在n特别大的时候会发生四舍五入