printf("%lf\n",d);为什么要%后面要加l,而 不直接加f呢?
2 回答
已采纳
hhh112123123
TA贡献158条经验 获得超98个赞
%f和%lf分别是float类型和double类型用于格式化输入输出时对应的格式符号。
其中:
float,单精度浮点型,对应%f.
double,双精度浮点型,对应%lf.
onemoo
TA贡献883条经验 获得超454个赞
应该就写%f。 float和double对应的都是%f。
原因是:在向变参函数传参时,编译器会自动将float提升为double类型。
那么printf作为一个变参函数,就算传入float,printf得到的也是double类型。
%f在printf中作为double的指示符,也就可以用于float。
其实老标准中根本没有%lf。在新标准(C99)中,为了在逻辑上和其他类型一致,才加入了%lf这个指示符,而实际上%lf就是%f
- 2 回答
- 0 关注
- 4334 浏览
添加回答
举报
0/150
提交
取消