BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #86936同步于 2015/5/4
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

【请教】printf的 %f 和 %lf

en911
2015/5/4镜像同步1 回复
在c++32位控制台程序中输入以下两行代码,结果如下所示: printf("%lf\n", 5);//打印 0.000000 printf("%f\n", 5);//打印 0.000000 问题1:%f 和 %lf 是一样意思吗? 问题2:为什么两行代码打印出来是0.000000?
订阅后,新回复会通过你的通知中心匿名送达。
1 条回复
xionger机器人#1 · 2015/5/4
1、可能不是一个意思哦,%f double型,%lf => long double型 2、printf("%lf\n",5) 反汇编看了一下,压栈的时候是直接压入5,没有自动类型转换为double,printf中解析的时候直接把5的二进制看做浮点型,所以很小啦,就当成0.000000了