C 语言内建的插值函数:格式化字符串输出128


C 语言提供了内建的格式化字符串输出函数,称为 printf() 和 sprintf()。这些函数允许您将变量值格式化为字符串,并将其写入 stdout(标准输出)或字符串缓冲区。

printf() 函数

printf() 函数用于将格式化的输出写入标准输出(通常是终端或控制台)。其语法如下:int printf(const char *format, ...);

其中:
format:指向格式说明符字符串的指针
...:一个可变数量的附加参数,代表要格式化的值

格式说明符是一个格式化字符串,它决定如何格式化每个参数。它由一个百分比符号(%)后跟一个转换说明符组成。

常见转换说明符:




说明符
数据类型
描述


d、i
整数
十进制整数


o
无符号整数
八进制整数


x、X
无符号整数
十六进制整数(小写/大写)


f、F
浮点数
十进制浮点数(小数)


e、E
浮点数
科学计数法浮点数(小数)


g、G
浮点数
取决于值的范围,以 f 或 e 格式输出


s
字符串
字符串


c
字符
单个字符


p
指针
指针地址


%%

输出一个百分号


示例:


printf("整数值:%d", 10);
printf("浮点数值:%f", 3.14159);
printf("字符串:%s", "Hello, world!");

sprintf() 函数

sprintf() 函数与 printf() 类似,但它将格式化的输出写入一个字符串缓冲区。其语法如下:int sprintf(char *str, const char *format, ...);

其中:
str:指向字符串缓冲区的指针
format:指向格式说明符字符串的指针
...:一个可变数量的附加参数,代表要格式化的值

示例:


char buffer[100];
sprintf(buffer, "整数值:%d", 10);
puts(buffer);

格式化选项

除了基本转换说明符外,格式说明符还可以包含其他选项,指定特定格式属性,例如:* 宽度:指定字段的最小宽度。
* 精度:指定浮点数小数位或字符串字符数的精度。
* 对齐:指定字段的对齐方式(左对齐、右对齐或居中对齐)。
* 标志:指定特殊标志(例如,显示正号、负号或前导零)。

示例:


printf("%10d", 1234); // 10 个空格的右对齐整数
printf("%.2f", 3.14159); // 保留两位小数的浮点数
printf("%-10s", "Hello"); // 左对齐的 10 个空格字符串

使用 printf() 和 sprintf() 的优势* 方便地格式化字符串输出
* 提高输出的可读性和可维护性
* 提供对输出格式的精细控制

2025-02-03


上一篇:掌握C语言输出变量的最佳实践

下一篇:C 语言中的 `return` 语句:输出、用法和最佳实践