关于c语言的输出问题。

来源:百度知道 编辑:UC知道 时间:2024/09/22 04:07:13
float f=123.456;printf("%010g\n",f);
“对于g或G,宽度用来指定输出的有效数字位数。若宽度超过数字的有效数字位数,则左边自动补0。”

可是以上输出语句是给123.456前补了空格。为什么。
不好意思。写错了。呵。
float f=123.456;printf("%10g\n",f);

float是单精度,能表示的范围有限,建议使用double,且本身printf的%f就是接受的一个double值

同学 你理解有点错误 控制输出宽度的是G或g前面的数字10 G和g只是一种输出格式控制 你的123.456只有7位而已 而你定义了10位 当然用0补足啦