我是靠谱客的博主 独特人生,最近开发中收集的这篇文章主要介绍【C/C++】%2d,%02d是什么意思,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1、%d就是普通的输出了

2、%2d是将数字按宽度为2,采用右对齐方式输出,若数据位数不到2位,则左边补空格:

3、%02d,和% 2d差不多,只不过左边补0

修饰符 格式说明 意义:
1、M

%md 以宽度m输出整型数,不足m时,左补空格

2、0m

%0md 以宽度m输出整型数,不足m时,左补零

3、m,n

%m.nf 以宽度m输出实型小数,小数位为n位


文章目录

    • %2d,%-2d,%.2d,%02d
    • %2x, %02x, %-2x, %.2x
    • %f, %.nf, %m.nf,
    • %e, %.ne,%m.ne,

%2d,%-2d,%.2d,%02d

int main()
{
	int a = 1;
	printf("%dn",a);
	printf("%2dn",a);
	printf("%.2dn", a);
	printf("%-2dn",a);
	printf("%02dn",a);
	return 0;
}

   
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

在这里插入图片描述
在这里插入图片描述

如图所示,2表示输出宽度,当大于输出宽度时,数据按原数据输出。当小于输出宽度2时,默认前补空格。如果有-号表示后补空格,.2d与02d相同,都表示不足宽度2时前补0.

%md类似,不在赘述

%2x, %02x, %-2x, %.2x

X 表示以十六进制形式输出
02 表示不足两位,前面补0输出;如果超过两位,则实际输出

#include<stdio.h>
int main()
{
	printf("%02Xn", 0x325);  
	printf("%02X", 0x5); 
	return 0;
}

   
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

在这里插入图片描述

如果写为 %2x,数据不足两位时,前面补空格输出,不额外补0输出; 如果超过两位,则实际输出

如果写成%-2x,数据不足两位时,后面补空格输出,不额外补0输出; 如果超过两位,则实际输出

如果写成%.2x效果和%02x相同

#include<stdio.h>
int main()
{
	printf("%2Xn", 0x325);  
	printf("%2Xn", 0x5); 
	printf("%-2X", 0x5);
	printf("1");//验证后面有空格
	return 0;
}

   
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

在这里插入图片描述
%mx类似,不在赘述

%f, %.nf, %m.nf,

#include<stdio.h>
int main()
{
	double num;
num <span class="token operator">=</span> <span class="token number">3.1415</span><span class="token punctuation">;</span>
<span class="token function">printf</span><span class="token punctuation">(</span><span class="token string">"%fn"</span><span class="token punctuation">,</span>num<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function">printf</span><span class="token punctuation">(</span><span class="token string">"%5.2lfn"</span><span class="token punctuation">,</span> num<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function">printf</span><span class="token punctuation">(</span><span class="token string">"%.2lfn"</span><span class="token punctuation">,</span> num<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function">printf</span><span class="token punctuation">(</span><span class="token string">"%.6lfn"</span><span class="token punctuation">,</span> num<span class="token punctuation">)</span><span class="token punctuation">;</span>

<span class="token keyword">return</span> <span class="token number">0</span><span class="token punctuation">;</span>

}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

在这里插入图片描述
1.%f不限制宽度和小数点后面的位数
2.%mf表示限制数据输出宽度为m,这个数据宽度还包括小数点
不足宽度的前面补空格。超过宽度的数据正常输出。
eg:%5.2lf——3.14占4个宽度<5所以前面补空格。
3.%.nf——表示小数点后面保留两位小数。

%e, %.ne,%m.ne,

%e:以指数形式打印数字
在不指定输出宽度的情况下默认数字部分小数点6位,指数占4位。
注意:小数部分不算小数点,指数e与+/-都算指数位数。

在这里插入图片描述
在这里插入图片描述

%m.ne:m表示输出列数,n表示有几位小数
当输出列数>m时按原数据输出
当<m时前补空格输出

%-m.ne表示后面补空格。

%.ne表示不限制输出列数,小数部分保留n位。

int main()
{
	printf("%en",123.456);
	printf("%.2en", 123.456);
	printf("%13en",123.456);
	printf("%-13e", 123.456);
	printf("1n");//验证空格
	printf("%3en", 123.456);
	printf("%13.2en", 123.456);
	return 0;
}

 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

在这里插入图片描述

最后,此文章根据大量实验得来,有任何问题,欢迎指出

最后

以上就是独特人生为你收集整理的【C/C++】%2d,%02d是什么意思的全部内容,希望文章能够帮你解决【C/C++】%2d,%02d是什么意思所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论