易百教程

输出宽度设置

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()函数用零填充宽度以保持四个字符宽。