关于标准输出%f的问题!大家帮帮我,我不理解

liguomail_7 2003-11-12 11:21:53
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.856400,789.124023
67.856400 ,789.124023
67.86, 789.12,67.8564,789.1240,67.856400,789.124023


这是书上写的一个题目,我的问题是,当使用输出域宽(上面的-10)选项时,是否小数点也要算一位呢?我认为不算(书上也没写),但看答案好象把小数点也算做一位的,请帮帮我。谢谢
...全文
236 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
verbal 2003-11-13
  • 打赏
  • 举报
回复
liguomail_7(撒加)

小数点不算一位!
你是不是也是看的潭《C程序设计》一书?
如果是。
例子在书中的P39例3.5。

BrightseaChen 2003-11-13
  • 打赏
  • 举报
回复
同意 verbal().
补充:小数点的确算一位。
iidj 2003-11-13
  • 打赏
  • 举报
回复
up verbal()
小数点好象算一位。
liguomail_7 2003-11-13
  • 打赏
  • 举报
回复
呵呵,你这个怎么是书上的原话呢......呵呵。那小数点算一位不?
verbal 2003-11-12
  • 打赏
  • 举报
回复
1.%f不指定字段宽度,由系统自动指定,使整数部分全部如数输出,并输出6位小数。应当注意并非全部数字都是有效数字。单精度实数的有效位数一般为7位。
2.%m.nf指定输出的数据占m列,其中有n位小数,如果数值长度小于m,则左端补空格,
3.%-m.nf与%m.nf基本相同,只是使输出的数值向左端靠,右端补空格。

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧