关于书上的一道题

来源:百度知道 编辑:UC知道 时间:2024/06/06 10:24:26
#include<stdio.h>
void main()
{float f=123.456:
printf("%f**%10f**%10.2f**%.2f**%-10.2f\n",f,f,f,f);
}
答案是(星号表示空格啊)123.456001**123.456001******123.46**123.46**123.46****
我杂算咋都不是这个答案那
我算的123.456001******123.46******123.46**123.46**123.46****

而且那个123.46是怎么回事?

这个你看一下计算机里数的表示方法。特别是小数的表示方法。具体的我记不清了。

如果printf中%后面没有.2的话float类型默认小数点后输出6位

这个是这种形式%m.n,m为数字的总长,包括小数部分,n表示小数要保留的数字为数.