小编典典

为什么 scanf() 需要 "%lf" 作为双打,而 printf() 只需要 "%f"?

all

为什么读取 a时scanf()需要lin ” “,而不管它的参数是 a还是 a ,什么时候可以使用 ” “
%lf``double``printf()``%f``double``float

示例代码:

double d;
scanf("%lf", &d);
printf("%f", d);

阅读 117

收藏
2022-07-28

共1个答案

小编典典

因为对于采用可变参数的函数,C 会将浮点数提升为双精度数。指针不会被提升为任何东西,因此您应该使用%lf,%lg%le(或%la在 C99
中)来读取双精度数。

2022-07-28