查询了很多文章发现,很少有人讲类似printf("%[tag]m.nd",x)这种格式化输出。
m是指整个输出占的宽度,n是指数字占有的宽度,tag为+时代表无论正负数都带符号输出,为-时代表左对齐。在这里我举几个例子,这样就很好理解。
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
int a=4;
printf("%+6.4d,\n",a);
printf("%6.4d,\n",a);
printf("%.4d,\n",a);
printf("%6.d,\n",a);
printf("%-6.4d,\n",a);
return 0;
}
输出结果