c语言有3位小数的浮点型数字输出后怎么最后一位会多出一个1?

如题所述

浮点数在存储的时候 是近似值
所以 在打印的时候多一点 少一点 都是正常的
于是 在编程的时候,一般不会用%f 而是取一定位数,比如 %.3f 保留三位小数。

如果你要要求前六位都是完全精确的值,那么可以使用double
注意 输出的时候用%lf
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-09-09
浮点型默认的就是6位小数。如果你想输出三位小数的话
就把你原句中printf("%f",a[i]);改为printf("%.3f",a[i]);
注意那个点