这个查看long double的最值的宏为什么不管用?

前一个显示乱码,后一个是全零。

#include<float.h>
#include<stdio.h>
int main()
{
    printf("%.10e",LDBL_MAX);
    puts("");
    printf("%.10e",LDBL_MIN);
    return 0;
}
阅读 2k
2 个回答

你没有给出你使用的 系统、编译器等信息,为什么乱码不太好说。

但有一点是可以肯定的:你使用 %e 来输出 long double 肯定不对呀,而应该使用 %Le 或者 %LE,因为 %e 对应的是 double 呐

难道不是应该用

printf("%jx\n",LDBL_MAX);

这样的写法么?