这个查看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);

这样的写法么?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进