gcc 4.7.3对long double的支持似乎有问题。
c语言吧
全部回复
仅看楼主
level 8
环境: cygwin, gcc 4.7.3
C Primer Plus第三章程序清单3.7:
http://codepad.org/IwlwRlEU
上面是在codpad.org中的源代码和执行结果,gcc 4.7.3中的执行结果也是如此。下面也是上述源代码:
#include <stdio.h>
int main(void)
{
float aboat = 32000.0;
double abet = 2.14e9;
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("%f can be written %e\n", dip, dip);
return 0;
}
2013年09月01日 05点09分 1
level 13
long double的输出格式符反正不是%f
2013年09月01日 05点09分 2
那就是书上错了。
2013年09月01日 06点09分
level 12
用mingw然后-D__USE_MINGW_ANSI_STDIO
2013年09月01日 05点09分 3
level 8
知道了,long double类型的在printf中的格式符要用%Lf
2013年09月01日 07点09分 5
%lf 都不行
2013年09月01日 07点09分
1