w
选项设置输出宽度。它适用于所有转换字符。宽度是为输出提供的最小空间量。
当输出小于宽度时,它是右对齐的。
当输出大于宽度时,将忽略宽度。
示例代码
#include <stdio.h>
int main()
{
printf("%%15s = %15s\n", "hello");
printf("%%14s = %14s\n", "hello");
printf("%%13s = %13s\n", "hello");
printf("%%12s = %12s\n", "hello");
printf("%%11s = %11s\n", "hello");
printf("%%10s = %10s\n", "hello");
printf(" %%9s = %9s\n", "hello");
printf(" %%8s = %8s\n", "hello");
printf(" %%7s = %7s\n", "hello");
printf(" %%6s = %6s\n", "hello");
printf(" %%5s = %5s\n", "hello");
printf(" %%4s = %4s\n", "hello");
system("pause");
return(0);
}
执行上面示例代码,得到以下结果:
%15s = hello
%14s = hello
%13s = hello
%12s = hello
%11s = hello
%10s = hello
%9s = hello
%8s = hello
%7s = hello
%6s = hello
%5s = hello
%4s = hello
与浮点数的宽度选项一样,当宽度大于显示的字符串时,空格会在左侧填充。但是当宽度小于字符串的长度时,仍会显示完整的字符串。
为整数指定宽度值时,可以使用它来右对齐输出。 例如:
printf("%4d", value);
此语句确保值的输出是右对齐且至少四个字符宽。如果值小于四个字符宽,则在左侧填充空格。
除非要指定使用0
来填充,那么可以使用以下写法:
printf("%04d",value);
在这种情况下,printf()
函数用零填充宽度以保持四个字符宽。