请教关于C语言-实数输出格式的问题。

有这么一段程序,如下:
#include "stdio.h"
void main()
{
float x=67.8564,y=-789.124;
printf("%f,%f\n",x,y);
printf("%-10f,%-10f\n",x,y);
printf("%8.2f,%8.2f,%4f,%4f,%3f,%3f\n",x,y,x,y,x,y);
}
运行结果是:
67.865400,-789.124023
67.856400,-789.124023
67.86,-789.12,67.856400,-789.124023,67.856400,-789.124023

我想问:
1.就此题中,为什么会输出这样的结果,特别是第一行和第二行输出,最后为什么出现“023”?
2.实数格式输出位数算上小数点吗?
3.正数和负数的输出有什么区别吗?
4.什么是有效位数?
5.可不可以帮忙稍微汇总一下实数输出都有哪几种情况…我感觉挺乱的。

我就50分,全给了吧… 希望大家多少帮我回答一下,解解我的疑惑。非常感谢!!
怎么没人回答?
大家帮忙说点东西啊~
加分加分

精度所致
负号也是占位数的 而且你那个负数小数点前占的位数就多了
导致后边的精度就不够了
温馨提示:答案为网友推荐,仅供参考
相似回答