我试图在C中打印一个长的double值,但它没有给出正确的值。我尝试过使用不同的格式参数,但我不确定输出的内容。我从其他一些答案中读到,它可能是编译器/操作系统的问题,但我还没有设法解决问题。
我在Windows 7上使用cygwin GCC编译器。
#include <stdio.h>
long double ans;
int main(){
ans = 1.2457473567352;
printf("long double ans = %.20Lf \n",ans);
}
输出:
long double ans = 0.000000000000000
long double ans = 1.133046674395481e-317