printf 中 double 的正确格式说明符

2023-12-06

正确的格式说明符是什么double在 printf 中?是吗%f或者是%lf?我相信这是%f,但我不确定。

代码示例

#include <stdio.h>

int main()
{
   double d = 1.4;
   printf("%lf", d); // Is this wrong?
}

"%f" is the (or at least one) correct format for a double. There is no format for a float, because if you attempt to pass a float to printf, it'll be promoted to double before printf receives it1. "%lf" is also acceptable under the current standard -- the l is specified as having no effect if followed by the f conversion specifier (among others).

请注意,这是一个地方printf格式字符串与scanf (and fscanf等)格式字符串。对于输出,您传递一个value,将从float to double当作为可变参数传递时。对于输入,您传递一个pointer,这是不提倡的,所以你必须告诉scanf您是否想阅读float or a double, 因此对于scanf, %f意味着你想阅读float and %lf意味着你想阅读double(而且,就其价值而言,long double, 你用%Lf对于任一printf or scanf).


1. C99, §6.5.2.2/6: "If the expression that denotes the called function has a type that does not include a prototype, the integer promotions are performed on each argument, and arguments that have type float are promoted to double. These are called the default argument promotions." In C++ the wording is somewhat different (e.g., it doesn't use the word "prototype") but the effect is the same: all the variadic parameters undergo default promotions before they're received by the function.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

printf 中 double 的正确格式说明符 的相关文章

  • EF Core Group By 翻译支持条件总和

    听说 EF Core 2 1 将支持翻译小组 我感到非常兴奋 我下载了预览版并开始测试它 但发现我在很多地方仍然没有得到翻译分组 在下面的代码片段中 对 TotalFlagCases 的查询将阻止翻译分组工作 无论如何 我可以重写这个以便我
  • C 编程 - 文件 - fwrite

    我有一个关于编程和文件的问题 while current NULL if current gt Id Doctor 0 current current gt next id doc current gt Id Doctor if curre
  • 以文化中立的方式将字符串拆分为单词

    我提出了下面的方法 旨在将可变长度的文本拆分为单词数组 以进行进一步的全文索引处理 删除停止词 然后进行词干分析 结果似乎不错 但我想听听关于这种实现对于不同语言的文本的可靠性的意见 您会建议使用正则表达式来代替吗 请注意 我选择不使用 S
  • WCF RIA 服务 - 加载多个实体

    我正在寻找一种模式来解决以下问题 我认为这很常见 我正在使用 WCF RIA 服务在初始加载时将多个实体返回给客户端 我希望两个实体异步加载 以免锁定 UI 并且我想利用 RIA 服务来执行此操作 我的解决方案如下 似乎有效 这种方法会遇到
  • GLKit的GLKMatrix“列专业”如何?

    前提A 当谈论线性存储器中的 列主 矩阵时 列被一个接一个地指定 使得存储器中的前 4 个条目对应于矩阵中的第一列 另一方面 行主 矩阵被理解为依次指定行 以便内存中的前 4 个条目指定矩阵的第一行 A GLKMatrix4看起来像这样 u
  • 按成员序列化

    我已经实现了template
  • 在哪里可以找到列出 SSE 内在函数操作的官方参考资料?

    是否有官方参考列出了 GCC 的 SSE 内部函数的操作 即 头文件中的函数 除了 Intel 的 vol 2 PDF 手册外 还有一个在线内在指南 https www intel com content www us en docs in
  • 类模板参数推导 - clang 和 gcc 不同

    下面的代码使用 gcc 编译 但不使用 clang 编译 https godbolt org z ttqGuL template
  • 从Web API同步调用外部api

    我需要从我的 Web API 2 控制器调用外部 api 类似于此处的要求 使用 HttpClient 从 Web API 操作调用外部 HTTP 服务 https stackoverflow com questions 13222998
  • OleDbDataAdapter 未填充所有行

    嘿 我正在使用 DataAdapter 读取 Excel 文件并用该数据填充数据表 这是我的查询和连接字符串 private string Query SELECT FROM Sheet1 private string ConnectStr
  • Clang 3.1 + libc++ 编译错误

    我已经构建并安装了 在前缀下 alt LLVM Clang trunk 2012 年 4 月 23 日 在 Ubuntu 12 04 上成功使用 GCC 4 6 然后使用此 Clang 构建的 libc 当我想使用它时我必须同时提供 lc
  • 在 ASP.NET 5 中使用 DI 调用构造函数时解决依赖关系

    Web 上似乎充斥着如何在 ASP NET 5 中使用 DI 的示例 但没有一个示例显示如何调用构造函数并解决依赖关系 以下只是众多案例之一 http social technet microsoft com wiki contents a
  • 重载<<的返回值

    include
  • 控件的命名约定[重复]

    这个问题在这里已经有答案了 Microsoft 在其网站上提供了命名指南 here http msdn microsoft com en us library xzf533w0 VS 71 aspx 我还有 框架设计指南 一书 我找不到有关
  • 覆盖子类中的字段或属性

    我有一个抽象基类 我想声明一个字段或属性 该字段或属性在从该父类继承的每个类中具有不同的值 我想在基类中定义它 以便我可以在基类方法中引用它 例如覆盖 ToString 来表示 此对象的类型为 property field 我有三种方法可以
  • 对现有视频添加水印

    我正在寻找一种用 C 在视频上加水印的方法 就像在上面写文字一样 图片或文字标签 我该怎么做 谢谢 您可以使用 Nreco 视频转换器 代码看起来像 NReco VideoConverter FFMpegConverter wrap new
  • 如何将带有 IP 地址的连接字符串放入 web.config 文件中?

    我们当前在 web config 文件中使用以下连接字符串 add name DBConnectionString connectionString Data Source ourServer Initial Catalog ourDB P
  • 如何在Xamarin中删除ViewTreeObserver?

    假设我需要获取并设置视图的高度 在 Android 中 众所周知 只有在绘制视图之后才能获取视图高度 如果您使用 Java 有很多答案 最著名的方法之一如下 取自这个答案 https stackoverflow com a 24035591
  • 将控制台重定向到 .NET 程序中的字符串

    如何重定向写入控制台的任何内容以写入字符串 对于您自己的流程 Console SetOut http msdn microsoft com en us library system console setout aspx并将其重定向到构建在
  • Windows 和 Linux 上的线程

    我在互联网上看到过在 Windows 上使用 C 制作多线程应用程序的教程 以及在 Linux 上执行相同操作的其他教程 但不能同时用于两者 是否存在即使在 Linux 或 Windows 上编译也能工作的函数 您需要使用一个包含两者的实现

随机推荐

  • 快速传递参数给异步中间件

    我有一个同步中间件来授权角色 它的设置是这样的 Route router get test authorizeRole tier1 tier2 function req res 中间件 module exports function aut
  • BASH:检查目录中的文件是否重复?

    我正在编写一个内务管理脚本 并且目录中有我想要清理的文件 我想将文件从源目录移动到另一个目录 有很多子目录 因此可能存在相同的文件 我想要做的是使用 CMP 命令或 MD5sum 每个文件 如果它们不重复则移动它们 如果它们相同则仅移动 1
  • 使用循环函数根据R中的多个条件删除数据框中的行

    我希望我的问题格式正确 因为这是我第一次发帖 而且对 R 来说相当陌生 下面是我当前使用的一些运动员运动数据的小样本 我的数据集大约有 18000 个行项目 因此希望使用快速 R 代码对其进行格式化 附上样本数据供您参考 我想根据多个标准删
  • 如何访问jar中可以存在于多个jar中的资源

    我有一个项目 我针对许多 XSD 生成大量代码 为了保持独立 每组 XSD 都捆绑在一个项目中 我有多个项目将在资源中看到 XSD 并针对它们生成代码 我的问题是 当我尝试访问存储在 jar 文件中的 XSD 时 我无法获取从特定 jar
  • 这两种初始化字符串的方式有什么区别?

    String obj null obj new String Samuel vs String obj null obj Samuel 这两种初始化字符串的方式有什么区别吗 是的 并且总是更喜欢第二个选择 第一个创建了一个不必要的字符串实例
  • 如何在 ggplot 中的因子水平比例图中添加 95% 置信区间?

    我想以我之前提出的问题得到的精彩答案为基础 绘制因子水平内的比例图 而不是 ggplot2 中的计数 我希望以代码为基础 var1 lt c Left Right NA Left Right Right Right Left Left Ri
  • 如何迭代/导航字符集中的每个字符(例如,US-ASCII 或 IBM037,按正确的顺序)?

    我想迭代字符集中的每个字符 主要是 US ASCII 和 IBM037 然后以正确的字符集序列打印所有字母数字字符 或所有可打印字符 是否可以不创建静态数组 尝试以下操作以按编码值的顺序打印所有有效字符 public static void
  • 使用 C 求解矩阵(在 CUDA 内)

    作为更大问题的一部分 我需要解决小型线性系统 即 NxN 其中 N 10 因此使用相关的 cuda 库在速度方面没有任何意义 不幸的是 我们还不清楚如何在不使用 GSL EIGEN 等大佬的情况下解决此类系统 谁能给我指出直 C 中稠密矩阵
  • 如何在 Mongoose 中执行 upsert 查找嵌入文档?

    SocialProfileSchema new mongoose Schema source type String enum twitter facebook lowercase true user id String profile u
  • 禁止从 dojo/request 向浏览器控制台写入错误

    有谁知道如何在执行 dojo request 时抑制浏览器控制台中显示的错误 例如 我向后端发出一个 post 请求 该请求返回 HTTP 400 告诉我由于验证检查而发生了错误 我将在我的代码中适当地处理它 显示一些验证警告 但 dojo
  • 在数据框中查找每个月的最后一个日期

    我一直在工作中遇到一个问题 我有一个日期数据集 采用数据框格式 我需要搜索并找到每个月的最后一天并将它们放入新的数据框中 下一列中还有一个与之相关的值 这是日期的样本 1 2015 05 21 2015 05 20 2015 05 19 2
  • 使用app sdk登录Rally

    如何使用 app sdk 以编程方式登录 Rally 我在拉力赛之外使用它 它首先重定向到登录页面 我想在没有用户输入凭据的情况下登录 Rally 有一个称为 LoginKey 的工具 可用于帮助对应用程序进行外部身份验证 如果您想在不登录
  • 如何在pygame中上下移动一个盒子[矩形作为正方形]?

    我正在尝试上下移动一个盒子pygame 我可以用钥匙向左移动盒子a并右键使用d 我怎样才能上下移动它 我的代码 import sys import pygame as pg def main screen pg display set mo
  • Vuejs 和数据表:使用 v-for 填充数据时表为空

    我正在尝试使用 vuejs v for 指令和 ajax 来填充数据表来获取数据 但该表始终显示 表中没有可用数据 即使显示了一些数据 并且底部还显示 显示 0 到0 个条目 共 0 个条目 我猜这是因为 vuejs 是反应性的 表格可能无
  • 将页脚置于底部

    我想将页脚放置在页面底部 例如 在内容不多的页面上 我仍然需要底部的页脚 但如果内容长于页面的高度 则必须将页脚向下推 可以仅使用 CSS 来完成还是需要添加一些 jQuery 魔法 您应该使用其中之一粘页脚技巧
  • JUnit 测试用例在 eclipse 中通过,但在 Maven 构建中失败

    我使用 spring 为 JPA 编写了一个 JUnit 测试用例 测试用例在 eclipse 中通过 但是如果我使用 maven mvn test 执行相同的测试用例 它就会失败 我的测试用例是 import javax annotati
  • _IDTExtensibility2,什么DLL导入到ATL项目中?

    所以我正在努力解决我的问题Office 插件再次任务 我已经创建了ATL项目 添加了简单的类 现在想要添加接口实现 如下http www devarticles com c a Cplusplus Writing an MS Word Ad
  • 释放数据库中库存的最佳实践

    我正在构建一个售票应用程序 用于跟踪门票库存 并在特定门票售完时停用它们 我想知道当订单中途放弃时将库存释放回商店的最佳做法是什么 目前的流量 用户添加items to an order as line items和order付款成功后标记
  • 如何动态添加edittext到android

    我想将 edittext 动态添加到 android 显示 我想做一些类似于 Android 联系人的东西 您可以在其中动态添加字段并在不需要时删除它们 感谢您的帮助 动态查看一切 TextView tv new TextView this
  • printf 中 double 的正确格式说明符

    正确的格式说明符是什么double在 printf 中 是吗 f或者是 lf 我相信这是 f 但我不确定 代码示例 include