c - C语言中%lg的含义
问题描述
我不知道“putout result is %lg”这句话是什么意思。我尝试使用%lg
而不是%lf
在 中printf
,像这样:
double a;
scanf("%lf",&a);
.....
printf("%lg",a);
return 0;
解决方案
%lg
对于printf要么具有未定义的行为(C89),要么行为类似于%g
(C99)。
- 切勿用于
%lg
打印,使用g
转换说明符而不l
打印double
. 由于默认参数提升,%g
也可用于打印s。float
对于fscanf
,l
具有浮点格式意味着参数的类型是double而不是float。由于所有浮点修饰符都接受所有相同的格式,因此习惯上使用它,因为它的行为与系列中%lf
的完全相同。%lg
scanf
- 扫描双倍时更
%lf
喜欢。%lg
推荐阅读
- dapp - 通过与 Metamask 连接的 dapp 显示我的合约代币余额
- javascript - JavaScript 可以同时执行两个异步函数或回调吗?
- java - 如何在 Java 中正确使用 Spark SQL 缓存?
- vue.js - vue-router:如何在没有“/”的情况下将查询值附加到 URL 的末尾?
- python - 如何在河内塔的每一步中添加数字
- django - 即使在 URL 中附加了斜线,Django 也会返回 301
- javascript - 在这种情况下,如何从 API 调用中控制台记录数据?
- java - Coinbase API 身份验证始终使用 Java 的无效签名
- python - 根据行名有条件地减去 Pandas Dataframe 行
- css - Dialogflow css 自定义