1. printf()
函数
printf()
函数用于将格式化的数据输出到标准输出(通常是终端)。它的基本语法如下:
#include <stdio.h>
int printf(const char *format, ...);
format
参数是一个字符串,可以包含普通字符和格式化指示符,例如%d
(整数)、%f
(浮点数)、%s
(字符串)等。例如:
int num = 42;
printf("The answer is %d\n", num);
在上述代码中,%d
是一个格式化指示符,它会被变量num
的值替换。
2. sprintf()
函数
sprintf()
函数用于将格式化的数据写入一个字符串。它的基本语法如下:
#include <stdio.h>
int sprintf(char *str, const char *format, ...);
str
参数是用于存储格式化数据的字符数组,format
参数是一个包含格式化指示符的字符串。例如:
char buffer[100];
int num = 42;
sprintf(buffer, "The answer is %d", num);
在上述代码中,buffer
数组将包含字符串"The answer is 42"
。
3. 格式化指示符
以下是一些常用的格式化指示符:
%d
:以十进制整数形式输出%f
:以浮点数形式输出%s
:以字符串形式输出%c
:以字符形式输出%x
:以十六进制形式输出%%
:输出百分号(%)
4. 高级用法
4.1 宽度和精度
可以使用数字来指定字段的宽度和精度。例如,%5.2f
表示输出一个至少宽度为5个字符、且保留2位小数的浮点数。
float num = 3.14159;
printf("%5.2f", num); // 输出 " 3.14"
4.2 格式化字符串
可以使用printf()
和sprintf()
函数中的格式化字符串作为参数。这在需要根据某些条件动态选择格式时非常有用。
int num = 42;
char formatString[20];
sprintf(formatString, "The answer is %s", (num > 50) ? "big" : "small");
printf("%s", formatString); // 输出 "The answer is small"
结语
printf()
和sprintf()
是C语言中非常强大和灵活的函数,可以满足各种输出需求。熟练掌握它们的用法,可以使程序输出更具可读性和可控性,为调试和用户界面设计提供了极大的便利。