关于printf("%d",A)与printf("%02d",A) 类型的printf的格式修饰符

%d 是输出十进制整数 d是decimal的缩写
%2d要求输出数据为两位,大于两位则原样输出,例如2.,123,遇到2会补一个空格(输出2位),看到123会输出123
%2.0d我表示没遇过,这应该是一种错误的写法,我用编译软件测试了,没测试出它的用法。
只有这两种格式
%m.ns:输出字符串,m指定输出宽度,n表示字符串的前n个字符输出到屏幕,如果m>n则需要补空格,例如%5.3s表示输出宽度是5,而字符实际只输出3个则需要补空格2个
%m.nf:m表示找整个浮点数输出宽度,n表示小数输出的宽度。例如%5.2f 输出一个58.6238,
那么实际输出的是58.62,注意了,m是整个数据要输时候的宽度。
%02d:默认情况下,数据数据宽度不够2位是用空格填补的,但是因为2d前面有0,表示,数据宽度不足时用0填补,例如%03d输出 12,那么实际输出到屏幕的是012.
核心部分:
%2d要求输出数据为两位,大于两位则原样输出,小于两位则补空格

//以下为测试:
#include<stdio.h>
int main(void)
{
    printf("没有格式修饰符,则默认用空格填充:%d:%d:%d\n",1,1,1); 
    printf("有各类格式修饰符:%02d:%03d:%3d:%3d:\n",1,1,1,12345);   
    //对于%3d,若输入的是1,则在3位固定宽度中的数字的前两位补空格,先空格,后数字
    //对于%03d,则在三位固定宽度中的前两位补0,先0,后数字
    //对于%3d,如果输入的int数字大于3位,则输入数字宽度的多大,输出的数字宽度就为多大,即:大于三位(%3d)则原样输出

}
/*
输出结果为:
没有格式修饰符,则默认用空格填充:1:1:1
有各类格式修饰符:01:001:  1:12345:
Program ended with exit code: 0 
*/
  • 7
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值