printf中%e输出精度,求指导
实在不明白%e,求指导
代码如下
#include <stdio.h>
main()
{
float x=314.15926;
double y=378.12345678912;
printf("x=%e\n",x);
printf("y=%11E\n",y);
}
为什么输出结果
x=3.141593e+002 而不是书上的3.14159e+02
y=3.781235e+002 明明指定11位了为什么输出还是13位
谢谢了
[解决办法]
默认的精度是 6 为
试试 printf("y=%.11E\n",y);
c 的陷阱与缺陷 后有详细的说明