printf详细说明

printf(const char *format,[argument])

format 格式 %[flag][width][.precision]type

flag 标志字符

-    左对齐,多出位右边补空格 默认没有则表示右对齐,多出位左边补空格
+    带符号展示一个数(整数或者小数) 没有的话,只有负数会展示符号,整数不展示
空格 使用空格表示正数的符号,负数原样输出
#    
当type=o表示在数值前添加前缀'O';
当type=x,表示在数值前添加前缀'Ox';
当type=X,表示在数值前添加前缀'OX';
当type=e/E/f,表示总是使用小数点;
当type=g/G,表示除0外,总是显示小数点

width 表示最小输出宽度,也就是至少占用几个字符的位置,多余的字符位置可由flag控制

%-9d 或 %-09d 表示使用9位字符宽度,-左对齐,有多的位数右边补充空格 d表示打印(输出)类型为整型
%9d 或 %09d 表示使用9位字符宽度,右对齐,有多的位数左边补充空格 d表示打印(输出)类型为整型

.precision 表示输出精度

type 这一项必须有,这意味着输出时必须要知道是什么类型

d或i 表示整型 int
ld   表示长整型 long int
c    表示字符型 char
s    表示字符串 
o    表示八进制
u    表示无符号
x或X 表示十六进制
f或F 表示浮点数
e或E 表示使用科学计数法

%%表示输出一个百分号符号

printf('%%');