有关C语言的输出,输入问题,初学者求教

来源:百度知道 编辑:UC知道 时间:2024/05/08 19:21:52
#include<stdio.h>
main()
{
float x=67.8912,y=-345.678;

printf("%f, %f\n",x,y);
printf("%-10f, %-10f\n",x,y);
}
为什么执行了上述程序后,显示的结果是
67.891197, -345.678009
67.891197 , -345.678009
而不是
67.891200, -345.678000
67.891200 , -345.678000
我用的是Turbo C 汉化版测试的。用英文原版也是相同的结果。
这是为什么?
而且有很多相同的情况,比如16.677的结果是16.677001
我是自学的C,刚学了没多久,书上说应该是不足小数位数补零啊,是我的程序的问题还是什么?

TC是16为软件,里面的精度就到小数点后3位,后面的几位是不准确的。所以你打67.8912和67.8911没区别。

可能是你定义x,y的类型是float (float x=67.8912,y=-345.678; ) 你可以把x,y 定义为 整型,试试看.

是TC的问题了,我用DEV编译,结果是正确的。。

帮不了忙了!学了早就不记得了.