C语言中(%d %.2d %2d %02d)(%2x, %02x, %-2x, %.2x)(%f, %.2f, %2.2f)(%e, %.2e,%3.2e)的区别%d:即为普通的输出,是几位数就输出几位数。

目录

%d %.2d %2d %02d

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

 %f, %.2f, %2.2f

%e, %.2e,%3.2e


%d %.2d %2d %02d

%d:即为普通的输出,是几位数就输出几位数。

%2d:按宽度为2输出,右对齐方式输出。若不够两位,左边补空格

%02d:同样宽度为2,右对齐方式。位数不够,左边补0

%.2d:从执行效果来看,与%02d一样。

%-2d:-号表示右边补空格

#include<stdio.h>
int main()
{
	int a = 2;
	printf("%dn", a);// % d:即为普通的输出, 是几位数就输出几位数。
	printf("%-2dn", a);//% -2d: - 号表示后补空格
	printf("%2dn", a);//% 2d:按宽度为2输出,右对齐方式输出。若不够两位,左边补空格。
	printf("%.2dn", a);//% .2d:从执行效果来看,与 % 02d一样。
	printf("%02dn", a);//% 02d:同样宽度为2,右对齐方式。位数不够,左边补0。
	return 0;
}

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

x:表示以十六进制形式输出,

%02x: 表示不足两位,前面补0输出;如果超过两位,则实际输出

%.2x:效果和%02x相同 (%02x=%.2x)

%2x:表示数据不足两位时,前面补空格; 如果超过两位,则实际输出

%-2x:表示数据不足两位时,后面补空格; 如果超过两位,则实际输出

#include<stdio.h>
int main()
{
	printf("%02Xn", 0x255);//超过两位,实际输出
	printf("%02Xn", 0x5);//不足两位,前面补0输出
	printf("%2Xn", 0x255);//超过两位,实际输出
	printf("%2Xn", 0x5);//不足两位,前面补空格输出
	printf("%-2X", 0x5);//不足两位,后面补空格输出
	printf("#");//验证后面有空格
	return 0;
}

 %f, %.2f, %2.2f

%f:不限制宽度和小数点后面的位数

%6.2lf:表示限制数据输出宽度为6, 这个数据宽度还包括小数点  不足宽度的前面补空格。超过宽度的数据正常输出。
%.2f:表示小数点后面保留两位小数。

#include<stdio.h>
int main()
{
	double num = 3.1415;
	printf("%fn", num); 
	printf("%6.2lfn", num);
	printf("%.2lfn", num);
	return 0;
}

%e, %.2e,%3.2e

%e:以指数形式打印数字
在不指定输出宽度的情况下默认数字部分小数点6位,指数占4位。
注意:小数点不算小数部分,指数e与 + / -都算指数位数。
% m.ne : m表示输出列数,n表示有几位小数
当输入列数 > m时按原数据输出
当 < m时前补空格输出
% -m.ne表示后面补空格。
% .2e表示不限制输出列数,小数部分保留2位。

#include<stdio.h>
int main()
{
	printf("%en", 123.456);
	printf("%.2en", 123.456);
	printf("%13en", 123.456);
	printf("%-13e#n", 123.456);
	printf("%13.2en", 123.456);
	printf("%-13.2en", 123.456);
	return 0;
}

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>