%m.nd:m代表输出一共占m列,不够m列前面补空格,够m列不作任何处理,n代表这个数一共要有n列,不够前面补0,够n列不做任何处理
int main()
{
int a = 123;
printf("%.4d\n",a);
printf("%5d\n", a);
printf("%5.4d\n", a);
return 0;
}

%m.ns:m代表这个字符串一共输出m列,n代表取这个字符串前n个元素输出到整个m列的右侧,当n<m时,用空格补齐左边的余缺,当n>=m时,不做处理
int main()
{
char*s = "hello world";
printf("%5.3s\n",s);
printf("%6.7s\n",s);
printf("%.2s\n",s);
return 0;
}

%m.nf:m代表这个数一共要输出m列,包括小数点和小数的位数,n代表小数的个数,当浮点数的小数小于n时,采用四舍五入,大于时,后面补0
int main()
{
float a = 1.25;
printf("%5.1f\n",a);
printf("%.4f\n",a);
printf("%4.3f\n",a);
return 0;
}
