btcq.net
当前位置:首页 >> C语言中printF输出FloAt和DouBlE都用%F么(sCAnF又如何) >>

C语言中printF输出FloAt和DouBlE都用%F么(sCAnF又如何)

1 printf输出float和double都可以用%f,double还可以用%lf.2 scanf输入float用%f,double输入用%lf,不能混用.

就是向 printf 传递参数的时候,类型为 float 的参数会自动转换为 double 类型啊

double精度更高,是指它存储的小数位数更多,但是输出默认都是6位小数,如果你想输出更多小数,可以自己控制,比如 “%.10lf” 就输出10位小数,望采纳

想在屏幕上输出内容时用printf float double精度不同,具体情况具体对待,想用精度高的就用double 想输入内容时用scanf并存入某个变量中.

是啊double对应%lf

% 是格式控制符 f代表输出类型为浮点型 例如: float x = 3.8 printf("%f", x); 即输出的x为单精度浮点型 若为%lf则为双精度浮点数 再看看别人怎么说的.

都是%f类型 格式int %dchar %c字符串 %s__int64 %I64d

%f是float%lf是double

我用VC++14.0和Dev C++5.11编译后都没出现你说的这种情况.%l %lf对printf函数来说是没有区别,因为传递给C语言可变参数函数的float类型变量都会被隐式提升为double, 所以这里的%f和%lf的效果是一致的.但是对于scanf,%f和%lf的含义就不一样了,因为传递的是指针.一般建议对于float类型使用%f,double类型使用 %lf

%f %lf 为格式控制 字符串的一般形式: % [修饰符] 转换说明符 %f 为按浮点型小数输出 double 为双精度型数据 必须用%lf:用于双精度型数据的输出 这是在用scanf的时候要注意的,不然如果你: double j; scanf("%f",&j); 这个时候就会出现溢出.而如果 j 是double型.并且j已经赋值过,这个时候可以用printf("%f",j);只是跟%lf这个格式输出的精度不一样罢了. 而long double其实呢,用%lf 够了吧.你要处理的数据需要多大呢? 这里%f %lf多用几次估计就知道怎么回事了

相关文档
jmfs.net | xmlt.net | lyxs.net | rxcr.net | ppcq.net | 网站首页 | 网站地图
All rights reserved Powered by www.btcq.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com