对于这个结果感觉很茫然求广大朋友帮忙分析一下结果的由来
谢谢{:7_145:}#include<stdio.h>
int main()
{
int a=15;
float b=123.1234567;
double c=12345678.1234567;
char d='p';
printf("a=%d,%5d,%o,%x\n",a,a,a,a);
printf("b=%f,%lf,%8.4lf,%e\n",b,b,b,b);
printf("c=%lf,%f,%8.4lf\n",c,c,c);
printf("d=%c,%8c\n",d,d);
return 0;
}
结果: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
Program ended with exit code: 0 请查阅小甲鱼老师的文档,关于printf函数的格式化输出:
http://bbs.fishc.com/forum.php?mod=viewthread&tid=66471&extra=page%3D1%26filter%3Dtypeid%26typeid%3D583 咖喱饭咖喱 发表于 2017-10-26 01:28
#include
int main()
{
printf("a=%d,%5d,%o,%x\n",a,a,a,a);
%d:直接打印a的值 为15
%5d,输出长度为5的值 15(15只有2位,所以前面需要补3个空格)
%o,输出八进制数据17(1*8+7=15)
%x, 输出十六进制数据f (16进制的F为10进制数的15)
printf("b=%f,%lf,%8.4lf,%e\n",b,b,b,b);
%f, 输出浮点型数据123.123459 (精度受损)
%lf, 输出长浮点型数据123.123459(精度受损)
%8.4lf,格式化输出长浮点型数据,小数点前最大保留8位(正数小于8位不变),小数点后保存4位,所以为123.1235(精度受损)
%e, 科学计数型数据为1.231235*10*10, 所以为1.231235e+02
printf("c=%lf,%f,%8.4lf\n",c,c,c);
%lf, 输出长浮点型数据12345678.123457 (精度受损)
%f, 输出浮点型数据12345678.123457 (精度受损)
%8.4lf, 格式化输出长浮点型数据,小数点前最大保留8位(正数小于8位不变),小数点后保存4位, 所以输出12345678.1235
printf("d=%c,%8c\n",d,d);
%c, 输出字符型数据为p
%8c, 输出长度为8的字符型数据 p(p只有1位,所以前面需要补7个空格)
咖喱饭咖喱 发表于 2017-10-26 01:28
#include
int main()
{
printf("a=%d,%5d,%o,%x\n",a,a,a,a);
%d:直接打印a的值 为15
%5d,输出长度为5的值 15(15只有2位,所以前面需要补3个空格)
%o,输出八进制数据17(1*8+7=15)
%x, 输出十六进制数据f (16进制的F为10进制数的15)
printf("b=%f,%lf,%8.4lf,%e\n",b,b,b,b);
%f, 输出浮点型数据123.123459 (精度受损)
%lf, 输出长浮点型数据123.123459(精度受损)
%8.4lf,格式化输出长浮点型数据,小数点前最大保留8位(正数小于8位不变),小数点后保存4位,所以为123.1235(精度受损)
%e, 科学计数型数据为1.231235*10*10, 所以为1.231235e+02
printf("c=%lf,%f,%8.4lf\n",c,c,c);
%lf, 输出长浮点型数据12345678.123457 (精度受损)
%f, 输出浮点型数据12345678.123457 (精度受损)
%8.4lf, 格式化输出长浮点型数据,小数点前最大保留8位(正数小于8位不变),小数点后保存4位, 所以输出12345678.1235
printf("d=%c,%8c\n",d,d);
%c, 输出字符型数据为p
%8c, 输出长度为8的字符型数据 p(p只有1位,所以前面需要补7个空格) BngThea 发表于 2017-10-26 09:13
请查阅小甲鱼老师的文档,关于printf函数的格式化输出:
http://bbs.fishc.com/forum.php?mod=viewthread& ...
谢谢呦{:10_281:}
页:
[1]