C语言初学者的很简单很简单的问题2

来源:百度知道 编辑:UC知道 时间:2024/06/17 23:01:17
#include<stdio.h>
main()
{inti=2518;
doublea=3.1415;
printf("i=%d,a=%f,a*10=%e\n",i,a,a*10);
}
输出为:i=2518,a=03.141500,a*10=3.141500e+01

问题是..1.程序那必须要对齐么
2.a=3.141500后面有两个0
3.a*10为什么等于那个数?

1.对齐是为了读程序方便,不然过段时间自己写的读起来都很困难
2.你是以%f形式打印的,即保留7位有效数字,不够的在后面添0
如果是3.1,打出来就是3.100000
3.%e是以指数形式打印,3.141500e+01=31.415啊
e+01,就是*10的(+01)次方

1.不是很明白必须对齐是什么意思
2.%f的输出格式默认保留6为小数
3.%e让结果以科学计算法输出