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语言中非常强大和灵活的函数,可以满足各种输出需求。熟练掌握它们的用法,可以使程序输出更具可读性和可控性,为调试和用户界面设计提供了极大的便利。