使用 C 语言精确控制输出宽度138


在 C 语言中,精确控制输出宽度是一个重要技能,它可以提高代码的可读性和可维护性。通过使用格式化规范符,程序员可以指定输出字段的宽度,从而创建整齐一致的输出。

宽度规范符

宽度规范符 %n 指定输出字段的最小宽度,其中n 是一个十进制数字。例如,%8 指定一个宽度为 8 的字段。

如果输出值小于指定宽度,则在值前面填充空格以填充字段。如果输出值大于指定宽度,则值将被截断。例如:```c
printf("%8d", 123); // 输出 " 123"
printf("%8d", 12345); // 输出 "12345"
```

左对齐和右对齐

默认情况下,输出值在字段中左对齐。要右对齐输出值,请在宽度规范符前面添加一个减号 (-)。例如:```c
printf("%-8d", 123); // 输出 "123 "
printf("%-8d", 12345); // 输出 "12345 "
```

填充字符

默认情况下,空格用于填充字段。要更改填充字符,请在宽度规范符后面添加一个字符。例如,以下代码使用星号 (*) 作为填充字符:```c
printf("%*d", 8, 123); // 输出 "123"
```

结合使用规范符

宽度、对齐和填充字符规范符可以组合使用以创建各种输出格式。例如,以下代码右对齐输出值并用零填充字段:```c
printf("%-08d", 123); // 输出 "00000123"
```

示例

以下程序演示了如何使用 C 语言中的宽度规范符:```c
#include
int main() {
int number1 = 123;
int number2 = 12345;
float number3 = 3.14159;
// 左对齐,宽度为 8
printf("%8d", number1);
printf("%8d", number2);
// 右对齐,宽度为 8
printf("%-8d", number1);
printf("%-8d", number2);
// 右对齐,宽度为 10,用星号填充
printf("%*d", 10, number1);
printf("%*d", 10, number2);
// 左对齐,宽度为 8,精度为 2
printf("%8.2f", number3);
return 0;
}
```
输出:
```
123
12345
123
12345
123
*12345
3.14
```

2024-11-12


上一篇:C 语言 strchr() 函数:查找字符

下一篇:C 语言移位运算后的输出