- 一、%d
- 第一组:%d %nd %-nd
- 第二组:%d %0nd %-0nd %.nd
- 第三组:%d %m.nd %-m.nd
- 二、%f
- %f %.nf %m.nf %-m.nf
- 三、%e
- %e %.ne %me %-me %m.ne %-m.ed
- 四、%x
- %x %0nx %nx %-nx
一、%d
第一组:%d %nd %-nd
①n表示输出宽度(占几个位置)
②当变量宽度大于指定输出宽度n时,数据按照自身宽度输出
③当变量宽度小于指定输出宽度n时,
不够宽度默认前面补空格(即右对齐)
如果前面有-号,则后面补空格(即左对齐)
第③种情况👇
第②种情况👇
下面验证一些前面有-号时,是在输出的后面补空格的情况👇
5和1之间的空格就是%-2d导致的
第二组:%d %0nd %-0nd %.nd
%0nd和%.nd时一样的,在宽度不足时是用0补上
而%-0nd其实是和%-nd一样都是左对齐
第三组:%d %m.nd %-m.nd
①后面的.n表示填充的0加上i变量的字符数之和(这个和小于n的情况下)
然后看m,如果m大于n,则m-n个位置填上空格,如果m小于n,则不起作用
二、%f
%f %.nf %m.nf %-m.nf
①%f默认打印就是小数点后面6位(lf打印double也是如此)
②.n中的n表示小数点后面有几位
③m表示整个输出占几位(注意的是,小数点也占一位)
④-号表示左对齐
⑤当m小于n时,m失效
三、%e
%e %.ne %me %-me %m.ne %-m.ed
①%e默认情况的输出规则是:输出一共占12位,其中小数部分6位(这里的小数点不算小数部分),指数部分4位(指数部分指的是e+03这四位。一般情况下是e加上+或者-加上两位数字),另外两位中一位是1或者0,另外一位是小数点
②%.ne指的是小数部分占n位
③%me指的是输出部分一共占多少位,多出部分补空格,%-me则是左对齐。当m小于输出字符数时,m失效
四、%x
%x %0nx %nx %-nx
整体规则和%d是一样的,%x和%d的区别就是一个打印十六进制数,一个打印十进制数
欢迎大家在评论区和我交流呀!
参考链接: 点这里