printf ("%m.f"); m是总位数(包括小数点),f是小数点后多少位(四舍五入,不绝对);
0是空白位用0补充 -是向左对齐(默认右对齐) +是向右对齐
#是显示八进制和十六进制的前缀 如 0 0x
这个应该是动态的用后面的数填充‘*’
关于%g(是在%f和%e中较短的形式输出,并且会省略多余的0)如:
#include <stdio.h> int main(void){ double a = 123456.0; printf("%g",a); return 0; } a为123456.0 结果: 123456 1234567.0 1.23457e+006 0.1234567 0.123457 0.00001 1e-005 0.0001 0.0001%g输出的是一个不超过6位的数,超出部分四舍五入,指数>=6 时候用科学计数法表示。%g %G 区别是输出时候 e E;
%f输出是小数点后6位,超出部分四舍五入