📅  最后修改于: 2023-12-03 14:59:38.764000             🧑  作者: Mango
在C语言中,我们通常使用scanf()
和printf()
函数来进行输入和输出操作。但是有时候我们需要更加复杂的输出格式,如在输出时需要按照一定的宽度和对齐方式来显示数据。这时候,我们可以使用printf()
函数的格式化输出来实现。
在使用printf()
函数输出时,需要使用格式化输出说明符来指定输出的格式。格式化输出说明符以%
字符开头,后面跟一个或多个格式化控制字符。下表列出了常用的格式化控制字符:
| 控制字符 | 含义 | | -------- | -------- | | %c | 字符 | | %d/%i | 十进制整数 | | %u | 无符号十进制整数 | | %f | 浮点数 | | %s | 字符串 | | %x/%X | 十六进制整数 | | %o | 八进制整数 |
在输出时,我们还可以选择对齐方式。对齐方式通过在控制字符前添加-
、+
、0
和空格来指明。其中,-
表示左对齐,+
表示右对齐,0
表示用0填充左边的空白,空格表示在正数前面添加一个空格,用于与负数对齐。
以下是一些示例代码,展示如何使用格式化输出控制符和对齐方式。
#include <stdio.h>
int main()
{
int i = 123;
float x = 3.1415926;
char c = 'A';
char s[] = "Hello, world!";
printf("%d\n", i); // 123
printf("%3d\n", i); // 123,右对齐,宽度为3
printf("%-3d\n", i); // 123,左对齐,宽度为3
printf("%05d\n", i); // 00123,用0填充左边空白,宽度为5
printf("%+d\n", i); // +123,在正数前添加一个+号
printf("% d\n", -123); // -123,正数前添加一个空格,用于与负数对齐
printf("%f\n", x); // 3.141593
printf("%.2f\n", x); // 3.14
printf("%.5s\n", s); // Hello,输出字符串的前5个字符
printf("%-10s\n", s); // Hello, world!
printf("%-10.5s\n", s); // Hello
printf("%c\n", c); // A
return 0;
}
在C语言中,使用printf()
函数进行格式化输出可以实现更加复杂的输出格式。掌握格式化输出控制符和对齐方式可以让我们更加灵活地控制输出。