C语言里面,默认%f是小数点后6位,如果想小数点后面16位,写成%.16lf 不会自动四舍五入的,double是一个近似值,通常没有办法做的很精确. 通常能精确到小数点后面5,6位,也就是说超过5,6位了可能就不准了。