我在 Windows 上将最新的 gcc 与 Netbeans 一起使用。为什么 long double
不起作用? printf
说明符 %lf
是否错误?
代码:
#include <stdio.h>
int main(void)
{
float aboat = 32000.0;
double abet = 5.32e-5;
long double dip = 5.32e-5;
printf("%f can be written %e\n", aboat, aboat);
printf("%f can be written %e\n", abet, abet);
printf("%lf can be written %le\n", dip, dip);
return 0;
}
输出:
32000.000000 can be written 3.200000e+004
0.000053 can be written 5.320000e-005
-1950228512509697500000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000.000000
can be written 2.725000e+002
Press [Enter] to close the terminal ...
最佳答案
是的——对于long double
,您需要使用%Lf
(即大写的“L”)。
关于c - printf 和 long double,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53489346/