printf函数中什么时候使用%什么时候使用&,什么时候使用分号?sprintf呢?
sprintf 是输出到字符串,一般是直接申请输出到一个字符串中,这个可以用来将大量数字数据转成字符串。
printf 是直接输出到标准显示设备,就是屏幕的终端中。
相似的还有 fprintf 是输出到文件,当然,这个文件也可能是虚拟的文件。
printf函数与sprintf不同之处有:
(1)函数的声明不同
int printf(const char *format [, argument]...);
int sprintf(char *buffer, const char *format [, argument] ...);
sprintf比printf多一个参数buffer,这个参数的作用见(2)的描述。
(2)函数的功能不同
•函数printf(...)根据指定的格式(format)将参数(argument)输出到屏幕上;
•函数sprintf(...)根据指定的格式(format)将参数(argument)输出到由指针buffer指定的字符数组(字符缓冲区)中;
(3)用法举例
#include
void main()
{
/*字符数组buffer用于存放sprintf函数的输出*/
char buffer[256];
int x = 100;
char *message = "Hello world";
/* 用sprintf函数将x和message输出到字符数组buffer中 */
sprintf(buffer, "%s%d", message, x);
/* 用printf函数将buffer的内容输出到屏幕上显示 */
printf("%s\n", buffer);
}