【发布时间】:2011-05-14 22:17:36
【问题描述】:
printf 中double 的正确格式说明符是什么?是%f 还是%lf?我相信是%f,但我不确定。
代码示例
#include <stdio.h>
int main()
{
double d = 1.4;
printf("%lf", d); // Is this wrong?
}
【问题讨论】:
-
如果你被 C89 库困住,
"%lf"是未定义的;在 C99 和 C11 库中,它被定义为与"%f"相同。 -
您的变体与以往一样正确。
%lf是double的正确格式说明符。但它在 C99 中变得如此。在此之前必须使用%f。
标签: c floating-point printf double format-specifiers