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

是float类型必须要用%f吗?

#include <stdio.h>

int main(){

    int age = 18;

float height = 1.85;

char unit = 'm';

printf("小明今年%d岁\n", age);

printf("小明身高%f%c\n", height, unit);

和printf("小明身高%e%c\n", height, unit);在显示上有区别,我想问一下这是为什么呢?是float类型必须要用%f吗?



正在回答

2 回答

不是必须用%f。

对于浮点型,printf有几种格式化指示符可用: %f %e %g %a ,它们的区别基本上就是输出的格式不同。

%f 输出格式为十进制小数,默认输出小数点后6位(000.000000)。说明下,%f可用于doublefloat,double无需使用%lf。

%e 输出格式为十进制科学计数法,默认也是点后6位(0.000000e±00)。

%g 输出小数科学计数法格式,具体用哪种格式取决于数的精度。一般如果指数位数小于整个浮点数的位数,就用小数输出。

%a 输出格式为十六进制科学计数法(0x0.000000p±0)。

以上都是对于double和float类型,对long double类型需要在指示符前加L,如%Lf

0 回复 有任何疑惑可以回复我~
#1

风拂面 提问者

对的,就是这个,谢谢啊
2015-07-31 回复 有任何疑惑可以回复我~

是啊,float类型必须要用%f。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926207    人
  • 解答问题       20797    个

C语言入门视频教程,带你进入编程世界的必修课-C语言

进入课程

是float类型必须要用%f吗?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信