printf 宽度输出格式通过指定最小字段宽度(width)来控制输出对齐。支持的标志包括:左对齐(-)、右对齐(无标志)和居中对齐(^)。例如,"%10d" 将数字右对齐到 10 个字符的宽度,"%8.2f" 将浮点数右对齐到 8 个字符的宽度,小数位数为 2 位,"%-15s" 将字符串左对齐到 15 个字符的宽度。
printf 宽度输出格式
简介
printf 函数提供了一种以特定宽度格式化输出数据的操作。宽度指定器允许指定最小字段宽度,以便对齐输出。
格式说明
printf 宽度格式说明符有以下语法:
%[flags][width][.precision][type]
其中:
- flags: 可选标志,用于控制对齐、符号和填充。
- width: 指定最小字段宽度(单位为字符)。
- precision: 指定浮点数或字符串的小数位数或最大字符数。
- type: 指定数据类型。支持的类型包括 %d(int)、%f(float)、%s(字符串)等。
宽度应用
可以使用宽度指定符来控制输出的最小宽度。如果实际输出的宽度小于指定宽度,则会用空格填充。
- 左对齐: 通过使用负号(-)标志实现。输出将左对齐,并用空格填充右侧。
- 右对齐: 通过不使用任何标志实现。输出将右对齐,并用空格填充左侧。
- 居中对齐: 通过使用 ^ 标志实现。输出将居中对齐,两侧均用空格填充。
示例
下面的代码演示了 printf 中宽度输出格式的使用:
#include <stdio.h>
int main() {
int num = 123;
float pi = 3.14159;
char name[] = "John Doe";
printf("数字: %10dn", num);
printf("圆周率: %8.2fn", pi);
printf("姓名: %-15sn", name);
return 0;
}</stdio.h>
输出:
数字: 123
圆周率: 3.14
姓名: John Doe
在输出中:
- %10d 指定 num 最小宽度为 10 个字符,并右对齐。
- %8.2f 指定 pi 最小宽度为 8 个字符,小数位数为 2 位,并右对齐。
- %-15s 指定 name 最小宽度为 15 个字符,并左对齐。