%后加的字母 代表的含义

%d 打印整型十进制数据

%c 打印字符格式数据

%f 打印float浮点数据

%p 打印地址数据

%x 打印十六进制数据

%s 打印字符串

%lf 打印double数据

%e 以指数形式输出数据

%g 根据大小自动选f格式或e格式,且不输出无意义的零

%o 输出八进制数据

%u 输出无符号十进制数据

%ld 输出长整型

%ms:输出的字符串占m列,如字符串本身长度大于m,则突破获m的限制,将字符串全部输出。 若串长小于m,则左补空格。可以理解为m前为正,则字符串右对齐。
%-ms:如果串长小于m,则在m列范围内,m前为负,字符串左对齐,右补空格。

%m.ns: 输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的右侧,左补空格。
%-m.ns:其中m、n含义同上,n个字符输出在m列范围的左侧,右补空格。如果n>m,则自动取n 值,即保证n个字符正常输出。

%f:例如:printf(“%f”, 12.5)输出“12.500000”浮点型数据(不包括双引号)。(%f小数点后默认保留 6位小数)
%mf:输出的数据占m列,如字符串本身长度大于m,则突破获m的限制,将浮点型对象全部输出。 若串长小于m,则左补空格。可以理解为m前为正,则浮点型对象右对齐。
%-mf:如果浮点型对象长小于m,则在m列范围内,m前为负,浮点型对象左对齐,右补空格。
%m.nf:输出占m列,浮点型对象保留n个小数位。
%-m.nf:其中m、n含义同上,m为输出的宽度,n为保留的小数位数,若浮点型对象长小于m,则 在m列范围内,m前为负,浮点型对象左对齐,右补空格