1

可能重复:
如何在 printf 中处理 float/double 到 int 的转换?

main()
{
    printf("%f",1);
}

我期望的输出是1.000000,即int 1被向上转换为1.000000 的两倍,但它给出了0.000000。为什么会这样?

4

1 回答 1

4

当为格式化指令(在本例int中为 a %f)提供不匹配的参数时,结果行为是undefined

这个问题或它的一些变体会定期出现,请参阅 将 int 打印为浮点数时 printf 的行为是什么?printf函数有问题吗?示例/更多信息。

于 2012-08-07T17:47:52.423 回答