自学的C语言,刚起步有很多不太懂的,顺便再给我解释下float和double(没感觉有什么变化区别),%f和%lf,加了个“l”也感觉没区别啊。谢谢解答了。
百度上的找过了,那些人都是复制黏贴过来的,而且是书上有的,但是书上没有讲我提出的这个问题。书上有的就别复制了。
计算机表示浮点数不是一个精确值,这也是由于计算机内部使用的二进制和我们十进制之间的转化存在误差造成的。另外输出方式,float和double是浮点数两种不同的数据类型,主要是由于float一般是32位,double是64,也就是说double比float的精度更高,可表示数的范围越大。另外,再printf函数中float会自动转换成double,也就是说%f和%lf基本无差异。
温馨提示:答案为网友推荐,仅供参考
第1个回答 2014-07-18
float 最多保留6为小数,6后面是7 四舍五入后6变成了7本回答被提问者采纳