无法打印长长双输出

dav*_*son -4 c double printf

我的问题很简单,如何打印长长双输出?我知道如何打印长双ie

printf("%Lf",output);
Run Code Online (Sandbox Code Playgroud)

chq*_*lie 6

你究竟是什么意思long long double?你的编译器真的接受这种语法吗?旧版本中似乎存在一个错误gcc,用于解析此问题long long double并将其识别为long long int.很久以前修复了这个bug:https://gcc.gnu.org/bugzilla/show_bug.cgi?id = 6634

如您所知,C标准支持长整数类型:

  • long long int可以打印格式%lld%lli,
  • unsigned long long int格式%llu,%llo%llx,

和一个长浮点类型:

  • long double印有%Lf,%Lg%Le.

某些特定目标的实现可能存在其他类型,但不是标准的:

这些都没有long long double在通用编译器上实现......

至少可以说,这些格式不受广泛支持,也没有printf定义标准转换.查看编译器文档以获取可能的扩展或特定函数,以转换这些扩展精度浮点格式(如果它们在目标上完全可用).