(新手求助)关于格式输入与输出和格式字符串的问题
1#include<stdio.h>2void main()
3{
4 int a = 15;
5 float b = 123.1234567;
6 double c = 12345678.1234567;
7 char d = 'p';
8 printf("a=%d,%5d,%o,%x\n", a, a, a, a);
9 printf("b=%f,%lf,%5.4lf,%e\n", b, b, b, b);
10 printf("c=%lf,%f,%8.4lf\n", c, c, c);
11 printf("d=%c,%8c\n", d, d);
12}
输出结果是a=15, 15,17,f
b=123.123459,123.123459,123.1235,1.231235e+02
c=12345678.123457,12345678.123457,12345678.1235
d=p, p
我的疑问是:1.第9、10行:输入b=%lf,输出的值为什么溢出了?lf读取的不是double类型的值吗?
2.第9、10行:在%和字母之间的数字有小数,我查了下这个小数点前面是宽度、小数点后面是约分到小数点后几位的意思。请问这个宽度是什么意思?
感谢指教! printf中 lf和f都是按double类型输出默认缺省精度是6 所以小数点后面六位
宽度就是打印时所占的格子 (显示的空间 万千只cnm 发表于 2021-8-13 22:15
printf中 lf和f都是按double类型输出默认缺省精度是6 所以小数点后面六位
宽度就是打印时所占的格子...
哦哦,明白了,谢谢你{:10_254:}
页:
[1]