为了账号安全,请及时绑定邮箱和手机立即绑定

C语言的问题 %L 是什么意思额。。。求解

C语言的问题 %L 是什么意思额。。。求解

C
卐燦爛de借囗卍 2015-11-28 12:03:55
printf("%lf\n",d);为什么要%后面要加l,而 不直接加f呢?
查看完整描述

2 回答

已采纳
?
hhh112123123

TA贡献158条经验 获得超98个赞

%f和%lf分别是float类型和double类型用于格式化输入输出时对应的格式符号。
其中:
float,单精度浮点型,对应%f.
double,双精度浮点型,对应%lf.


查看完整回答
反对 回复 2015-11-28
点击展开后面1
?
onemoo

TA贡献883条经验 获得超454个赞

应该就写%f。 float和double对应的都是%f


原因是:在向变参函数传参时,编译器会自动将float提升为double类型。

那么printf作为一个变参函数,就算传入float,printf得到的也是double类型。

%f在printf中作为double的指示符,也就可以用于float。


其实老标准中根本没有%lf。在新标准(C99)中,为了在逻辑上和其他类型一致,才加入了%lf这个指示符,而实际上%lf就是%f


查看完整回答
反对 回复 2015-12-01
  • 2 回答
  • 0 关注
  • 4334 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信