c语言中%1d,%2d,%3d,%5d有什么区别?
展开全部
%1d,%2d,%3d,%4d,%5d中%与d之间的数字表示的是输出数据所占的宽度,由系统决定,通常按照数据本身的实际宽度数出,前后不加空格,并且采用右对齐的形式。
在%和格式字符之间插入一个整型常数来指定输出的宽度n。
如果指定的宽度n不够,输出时将会自动突破,保证数据完整输出。如果指定的宽度n超过输出数据的实际宽度,输出时将会右对齐,左边补以空格,达到指定的宽度。
扩展资料:
在“%”和字母之间插进数字表示最大场宽。
例如:%3d表示输出3位整型数,不够3位右对齐。
%9.2f表示输出场宽为9的浮点数,其中小数位为2,整数位为6,小数点占一位,不够9位右对齐。
%8s表示输出8个字符的字符串,不够8个字符右对齐。
如果字符串的长度、或整型数位数超过说明的场宽,将按其实际长度输出。
但对浮点数,若整数部分位数超过了说明的整数位宽度,将按实际整数位输出;
若小数部分位数超过了说明的小数位宽度,则按说明的宽度以四舍五入输出。
参考资料:百度百科-printf
展开全部
%d前面的数字表示打印格式的位数。
1.如果输出的内容位数不足将会在左边补足空格
2.如果输出的内容位数超过%d前面的数字会将内容全部输出,%d前面的数字相当于无效
例如:
#include <stdio.h>
main()
{
int a=5;
int b=123;
printf("%1d\n",a);
printf("%1d\n",b);
printf("%2d\n",a);
printf("%3d\n",a);
printf("%5d\n",a);
}
输出结果是
5
123
△5
△△5
△△△△5
注意:上面的△代表空格
1.如果输出的内容位数不足将会在左边补足空格
2.如果输出的内容位数超过%d前面的数字会将内容全部输出,%d前面的数字相当于无效
例如:
#include <stdio.h>
main()
{
int a=5;
int b=123;
printf("%1d\n",a);
printf("%1d\n",b);
printf("%2d\n",a);
printf("%3d\n",a);
printf("%5d\n",a);
}
输出结果是
5
123
△5
△△5
△△△△5
注意:上面的△代表空格
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-03-20
展开全部
所占空间不同
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询