为什么读取 a时scanf()需要lin ” “,而不管它的参数是 a还是 a ,什么时候可以使用 ” “ ?%lf``double``printf()``%f``double``float
scanf()
l
%lf``double``printf()``%f``double``float
示例代码:
double d; scanf("%lf", &d); printf("%f", d);
因为对于采用可变参数的函数,C 会将浮点数提升为双精度数。指针不会被提升为任何东西,因此您应该使用%lf,%lg或%le(或%la在 C99 中)来读取双精度数。
%lf
%lg
%le
%la