首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >C语言问题:%f和%lf的区别

C语言问题:%f和%lf的区别

作者头像
Twcat_tree
发布于 2022-11-30 21:00:24
发布于 2022-11-30 21:00:24
3.4K0
举报
文章被收录于专栏:二猫の家二猫の家

%f和%lf分别是float类型和double类型用于格式化输入输出时对应的格式符号。 其中: float,单精度浮点型,对应%f。 double,双精度浮点型,对应%lf。 在用于输出时: float类型可以使用%lf格式,但不会有任何好处。 double类型如果使用了%f格式可能会导致输出错误。 在用于输入时: double 类型使用了%f格式,会导致输入值错误。 float类型使用double类型不仅会导致输入错误,还可能引起程序崩溃。 所以在输入输出时,一定要区分好double和float,而使用对应的格式符号。

为什么呢???因为C语言的%f是浮点型函数的占位符,%If是长浮点型函数的占位符

讲道理这种东西没学过编译原理很容易错。 因为float和double都会被转换成double然后送给printf函数 所以其实用%f还是%lf输出其实并不重要 然而输入时%lf表示地址对应的是8字节的double,%f表示地址对应的是4字节的float,存储方式都不一样,混用了肯定会出问题。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-09-26,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档