C/C++%2d,%02d是什么意思

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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位

【C/C++】%2d,%02d是什么意思_2d

【C/C++】%2d,%02d是什么意思_2d_02

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

%md类似,不在赘述

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

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


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

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

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

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


%mx类似,不在赘述

%f, %.nf, %​​m.nf​​, #include<stdio.h> int main() double num; num = 3.1415; printf("%f\\n",num); printf("%5.2lf\\n", num); printf("%.2lf\\n", num); printf("%.6lf\\n", num);

return 0;


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("%e\\n",123.456); printf("%.2e\\n", 123.456); printf("%13e\\n",123.456); printf("%-13e", 123.456); printf("1\\n");//验证空格 printf("%3e\\n", 123.456); printf("%13.2e\\n", 123.456); return 0;


以上是关于C/C++%2d,%02d是什么意思的主要内容,如果未能解决你的问题,请参考以下文章

c语言怎么让文字右对齐

c语言 %d %f %lf %d可表示的最大和最小范围是多少?超过了范围 计算机怎么显示

Pandas-数字前面补0

d及m型特征是啥意思

c语言入门问题 第一张第五题D选项为啥错,第二张不明白,求详解

main是啥意思