每天一点C-- printf
目录
前几天就下定决心开始学习C了,之前学习C不是看着书本,就是看着视频,这次看到了一个 gitbook上的笨办法学C,就试着看了几篇,感觉还比较适合我的学习方式,这不就开始嗑代码了。
今天就记录一下printf的格式化输出吧
printf
基本格式:%(flags)(width)(. prec)type
type
- d 有符号10进制整数
- i 有符号10进制整数
- o 有符号8进制整数
- u 无符号10进制整数
- x 无符号的16进制数字,并以小写abcdef表示
- X 无符号的16进制数字,并以大写ABCDEF表示
- F/f 浮点数
- E/e 用科学表示格式的浮点数
- g 使用%f和%e表示中的总的位数表示最短的来表示浮点数 G 同g格式,但表示为指数
- c 单个字符
- s 字符串
- % 显示百分号本身
- p 显示一个指针,near指针表示为:XXXX
- far 指针表示为:XXXX:YYYY
- n 相连参量应是一个指针,其中存放已写字符的个数
在这些个符号前还需要一个%来表示,在这些type前还会有一些flags
flags
- 无 右对齐,左边填充0和空格
- ‘-’ 左对齐,右边填充空格
- ‘+’ 在数字前增加符号 + 或 -
- 一个空格 只对负数显示符号
- #当type=c,s,d,i,u时没有影响,type=o,x,X时,分别在数值前增加'0',“0x”,“0X”,type=e,E,f时,总是使用小数点, type=g,G时,除了数值为0外总是显示小数点
width
width 用于控制显示数值的宽度n(n=1,2,3…) 宽度至少为n位,不够以空格填充 0n(n=1,2,3…) 宽度至少为n位,不够左边以0填充 * 格式列表中,
prec
prec 用于控制小数点后面的位数
- 无 按缺省精度显示
- 0 当type=d,i,o,u,x时,没有影响 type=e,E,f时,不显示小数点
- n(n=1,2,3…) 当type=e,E,f时表示的最大小数位数,type=其他,表示显示的最大宽度 .*
F|N|h|l
表示指针是否是远指针或整数是否是长整数
- F 远指针
- n 近指针
- h短整数或单精度浮点数
- l 长整数或双精度浮点数