3

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

 1 year ago
source link: https://blog.51cto.com/u_14682436/5867751
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

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

精选 原创

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

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

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

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

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

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

3、m,n

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

【C/C++】%2d,%02d是什么意思_2d
【C/C++】%2d,%02d是什么意思_#include_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; }

  • 收藏
  • 评论
  • 分享
  • 举报

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK