printf()输出格式大全(附 - 示例代码)


一、printf格式控制的完整形式:

%[标志] [输出最小宽度] [.精度] [数据长度] 数据类型字符
.

 1、“[ ]”

  表示该项为可选项,即不选也可。
.

 2、“[标志]”

  标志字符有 -、+、#、空格、0 五种

标志说明
-左对齐,默认为右对齐(输出实际长度<输出最小宽度,右边补空格)
+右对齐,正数输出(+),负数输出(-)(输出实际长度<输出最小宽度,左边补空格)
#输出十六进制时,前面会加前缀(0x)
空格正数输出空格,负数输出(-)
0当实际位数少于最小宽度时在前面补 0

  示例

标志示例输出结果
-("%-6d\n", 100)100◡◡◡
+("%+6d\n", 100)◡◡+100
+("%+6d\n", -100)◡◡-100
#("%#x\n",0x12)0x12
空格("% d\n", 100)◡100
空格("% d\n", -100)-100
0("%06d\n", 123)000123

.

 3、“[输出最小宽度]”

  用十进制整数表示输出的最少位数,若实际位数多于定义的宽度,则按实际位数输出,实际位数少于定义的宽度则补以空格或 0。

.

 4、“[.精度]”

  用“小数点”加“十进制正整数”表示。

数据类型十进制整数 说明
整型(d,i,o,u,x,X)表示输出的最小的数字个数,不足则前面补零,超过则原长度输出
浮点型(a, A, e, E, f )表示小数点后至多输出的数字个数,不足则后面补数字0,多则做四舍五入处理
字符串(s)表示最多输出的字符个数,不足则后面补空格,多则截断

  示例

数据类型(举例)示例输出结果
整型(d)("%.6d\n", 123)000123
整型(d)("%.3d\n", 1234)1234
浮点型(f)("%5.3f\n", 1.12567)1.126
浮点型(f)("%5.3f\n", 1.12)1.120
字符串(s)("%.5s\n","123")123◡◡
字符串(s)("%.5s\n","12345678")12345
.

 5、“[.数据长度]”

  可选的输出长度修饰符。

数据长度类型说明
h表示以短整型输出整数或以单精度输出浮点数
l表示以长整型输出整数或以双精度输出浮点数
ll表示以64位长整型输出整数

附1

举例说明
%d = %ld 用来输出十进制整数,32位系统中占4个字节(32位)
(输出范围: -2147483647 ~ 2147483647 即 ( -0 x 7FFF FFFF ) ~ ( 0 x 7FFF FFFF ) )
%hd短整型,32位系统中占2个字节(16位)
(输出范围: -32768 ~ 32767 即 ( -0 x 7FFF ) ~ ( 0 x 7FFF ) )
%lld长整型,32位系统中占8个字节(64位)
(输出范围: -9223372036854775808 ~ 9223372036854775807 即 ( -0 x 7FFF FFFF FFFF FFFF ) ~ ( 0 x 7FFF FFFF FFFF FFFF ) )
%x = %lx 以无符号十六进制形式输出整数,32位系统中占4个字节(32位)
(输出范围: 0 ~ ( 0 x FFFF FFFF ) )
%llx以无符号十六进制形式输出整数,32位系统中占8个字节(64位)
(输出范围: 0 ~ ( 0 x FFFF FFFF FFFF FFFF ) )
%f用来输出实数(包括单、双精度),以小数形式输出,不指定宽度,整数部分全部输出并输出6位小数,小数位不够6位则在后面补0
.

二、小结

  • 欢迎纠正
  • ☆⌒(*^-゜)v THX!!
  • 码字不易,记得点小心心 ( •̀ ω •́ )✧
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力的小肥丸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值