关于占位符的易错点总结

最近把%2d,%.2d和%2f等占位符搞混了,所以打算写一个文章来搞清楚这类占位符,并加以拓展总结。

一,%5d的扩展与总结

%5d”是的意思是以整形来格式化参数,并且当整数字符数少于5个情况下,多格式化一定数量空格来在左边填充,以使得空格和整数所用字符数的总和达到至少5个。

%5d宽度<5补空格,>5不变
%5f宽度<5补空格(包括小数点),>5不变
%5s宽度<5补空格,>5不变

若在5前加0,如%05d。则补的将从空格变为0。

%05d宽度<5补0,>5不变
%05f宽度<5补0(包括小数点),>5不变
%05s宽度<5补0,>5不变

若在5或05前加负号,则在右边加空格或0。

int a = 123; printf("%___",a);
%-5d(123  )
%-05d(12300)
float a = 123.4; printf("%___",a);
%-5f(123.4 )
%-05f(123.40)
a = "abc" ; printf("%___",a);
%-5s(abc  )

二,%.5d的扩展与总结

“%5d”表示按5位的固定位宽输出整型数值。如果不足5位,则在前面补空格;超过5位,则按实际位数输出。(有点像%5d等反过来)

%.5d宽度>5,只保留5位;宽度<5,不变
%.5f保留小数点后5位
%.5s宽度>5(包括空格),只保留5位(包括空格);宽度<5,不变。

三,练习

%3s,       格式输出字符串,右对齐,超出3个长度的,就全部输出;
%7.2s,     输出字符串占7个位置,右对齐,左补空格,输出2个字符;
%.4s,      仅输出4个字符,占位4个位置,右对齐;
%-5.3s:    输出3个字符,占位5个位置,左对齐右补空格。

四,最后

希望能够帮助到大家,如有建议或错误可联系。后续若有补充可能会继续更新~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值