如何控制 C 语言中的输出位数95


在 C 语言中,使用格式化字符串可以控制输出的位数,从而实现精确的输出格式。

使用 printf() 函数

printf() 函数用于格式化输出,其中 % 符号后跟一个转换说明符,指定要输出的数据类型和格式。控制输出位数的常用转换说明符有:
%d:有符号十进制整数,宽度由字段宽度 specifier 控制
%u:无符号十进制整数,宽度由字段宽度 specifier 控制
%o:八进制整数,宽度由字段宽度 specifier 控制
%x:十六进制整数(小写),宽度由字段宽度 specifier 控制
%X:十六进制整数(大写),宽度由字段宽度 specifier 控制
%f:浮点数,小数位数由精度 specifier 控制
%e:浮点数,指数表示法,小数位数由精度 specifier 控制
%g:浮点数,自动选择 %f 或 %e,以更紧凑的格式表示
%a:浮点数,十六进制指数表示法,小数位数由精度 specifier 控制
%A:浮点数,十六进制指数表示法(大写),小数位数由精度 specifier 控制

使用字段宽度 specifier

字段宽度 specifier 用于指定输出字段的最小宽度。如果输出内容的长度小于字段宽度,则在输出前填充空格。例如,以下代码以宽度为 10 的十进制整数格式输出 123:```c
printf("%10d", 123);
```

输出:    123

使用精度 specifier

精度 specifier 用于指定浮点数的小数位数。如果输出内容的小数位数少于精度 specifier,则在输出前填充 0。例如,以下代码以精度为 2 的浮点数格式输出 1.234:```c
printf("%.2f", 1.234);
```

输出:1.23

示例

以下代码演示了如何控制 C 语言中的输出位数:```c
#include
int main() {
int num1 = 12345;
float num2 = 123.456789;
// 输出 12345,右对齐,宽度为 10
printf("%10d", num1);
// 输出 123.46,精度为 2
printf("%.2f", num2);
// 输出 0x1234,十六进制,小写
printf("%x", num1);
return 0;
}
```

输出:```
12345
123.46
1234
```

2024-11-26


上一篇:浮点数输出精度在 C 语言中的探讨

下一篇:巧用 C 语言遍历和打印单链表