关于%lf和%f的精度区别?

关于%lf和%f的精度区别?

C89 7.9.6.1

C99 7.19.6.1

因此对于一个 C89 实现来说 printf("%lf", 0.f) 是未定义行为(通常结果是 l 被忽略或者不能正确输出);C99 实现来说 printf("%lf", 0.f) 与 prinf("%f", 0.f) 等价。我猜是因为错误使用 %lf 的太多了因此标准给加了进去233

因此建议输出完全不使用 %lf 而使用 %f