float 精度为7位有效数字,double 精度为14位有效数字。由于 计算机用 2进制,10进制数据输入后会转化为2进制,输出时又转回来,这种转换会引入误差 (通常说法 “化不尽”)。你可以改double 作比较:double f1,f2; f1=12.34; f2=56.78;printf("\n%f,%f",f1,f2); -- 输出为 12....