C/C++ 如何输出数字- 02,002的讲解

当我们使用printf库函数时,通常都有这样一种写法

printf("%2d",&a);          

这类写法的意义都是以 右2 为标准线 ,未输出满2位数则自动填空格,输出满或超2位数贼正常输出(不懂请看VCR)(如果是3d则是右3标准线)

由此可见,在输出6的前面会有空格存在,因为未达到 右2标准线 ,所以自动填了一个空格

后两类输入大于等于右2标准线,所以正常输出了

那么我们该如何输出02,或者002呢,只需要在我们刚才所学的基础上加上个0就可以

不懂请看VCR

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{	
	int a = 0;
	scanf("%d", &a);
	printf("%02d", a);

}

在刚才的基础上前面加了个0 ,就会把本该输出空格的地方换成0 

                                别急着走  前后知识并不完全相同!!!

这里的 printf("%02d") 会让你输出两位数时把空格自动换成0

但是想输出 002 并不是说加个0就可以解决的!!!

如果我们想输出 002 ,只需要将02换成03即可(即printf("03");)

      请看VCR!!  

其实原理还是一样,以 右3 为标准线,未满的自动生成空格,并将空格替换成0

最后我们来总结一下

printf("%2d")会以右2为标准线,未达到自动填空格,大于等于2正常输出

printf("%02d")会把printf("%2d")里面的空格换为0

printf("%002d")并不会输出我们想要的数字(如007,008)

printf("%03d")才会输出 007,008 这类的数,原理就是因为用printf("%3d")输出单个数字6时,会自动打印两个空格,将这两个空格换成0,才会生成006

创作不易,点点关注,感谢支持!!!

  • 30
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值