printf() 函数用于格式化 C 语言输出。它支持格式说明符(如 %d、%f)指定数据类型和格式,以及修饰符(如 +、-)修改输出。此外,宽度和精度可控制输出字段大小和小数位数。示例:printf("%#x", 123) 以显示前缀形式输出十六进制数 123。

printf 输出格式总结
简介
printf() 函数是 C 语言中用于格式化输出的函数。它允许您控制输出的格式,包括数据类型、对齐、填充和宽度。
语法
int printf(const char *format, ...);
其中:
-
format是一个格式化字符串,指定输出的格式。 -
...是可变参数列表,包含要打印的值。
格式说明符
格式化字符串使用格式说明符来指定如何格式化每个参数。以下是一些常见的格式说明符:
| 说明符 | 数据类型 | 描述 |
|---|---|---|
%c |
字符 | 输出单个字符 |
%d |
整数 | 输出十进制整数 |
%f |
浮点数 | 输出浮点数 |
%s |
字符串 | 输出字符串 |
%p |
指针 | 输出指针地址 |
修饰符
除了格式说明符外,还可以使用修饰符来修改输出格式。以下是一些常见的修饰符:
| 修饰符 | 描述 |
|---|---|
- |
左对齐 |
+ |
显示符号(对于数字) |
0 |
用 0 填充 |
# |
显示前缀(对于十六进制和八进制) |
宽度和精度
您可以使用宽度和精度来控制输出的格式。
- 宽度指定输出字段的最小宽度。如果实际输出的宽度小于指定宽度,则用空格填充。
- 精度指定浮点数的小数点后显示的位数,或字符串截断的最大长度。
语法:
%[-][width][.precision][modifier]type
示例
以下是一些示例,展示如何使用 printf() 来格式化输出:
// 输出整数
printf("%d", 123); // 123
// 左对齐浮点数,宽度为 10 位,小数点后两位
printf("%-10.2f", 123.456); // 123.46
// 输出一个右对齐字符串,宽度为 20 位,填充 0
printf("%20s", "Hello"); // 00000000000000Hello
// 输出一个十六进制数,显示前缀
printf("%#x", 123); // 0x7b










