C语言输出格式

来源:百度知道 编辑:UC知道 时间:2024/06/07 00:35:56
小弟初学C语言希望大家可以详细的解释一下以下两道题。小弟不胜感激!
1. #include<stdio.h>
main()
{ printf("*%f,%4.3f*\n",3.14,1.1415);}

2. #include<stdio.h>
void main()
{ int x=-2345;
float y=12.3;
printf("%6d,%6.2f",x,y);
}

这两道题的输出结果分别是什么?并且为什么,希望详细些
第二题的有效位不是6位么,但看你的答案好像不是6位啊?

1.输出结果:
*3.140000,1.142*
%f是浮点型float的输出方式,共7位精度 看第一个数就应该知道了,在%f之间的“4.3”表示要求输出四位有效数字,其中三位是小数(多了四舍五入,不够的添0)
2.输出结果:
-2345,12.30
和上面一样,中间要求的是有效数字格式,这里数字不够,%d%f格式都在前面补了相应数量的空格,总之,在不改变数值的情况下改成要求的格式,你自己上机试试比较好

回答者: Cynthia199 - 试用期 一级 3-11 21:3

完全正确

1题:3.140000,1.141;
2题:##2345,##12.30;
其中#号为空格;
f为以带小数点的形式输出单精度数和双精度数
%f4.3\n就是数字为4,小数位为3

恩啊