printf和puts和sprintf区别
时间: 2023-11-27 10:48:08 浏览: 91
printf、puts和sprintf都是C语言中用于输出字符串的函数,它们的区别如下:
1. printf函数:用于将格式化的字符串输出到标准输出流stdout中,可以输出各种类型的数据,包括字符串、整型、浮点型等。printf函数的返回值是输出的字符数。
2. puts函数:用于将字符串输出到标准输出流stdout中,不支持格式化输出,输出的字符串末尾会自动添加一个换行符。puts函数的返回值是非负整数,如果输出成功则返回非负整数,否则返回EOF。
3. sprintf函数:用于将格式化的字符串输出到指定的字符串缓冲区中,可以输出各种类型的数据,包括字符串、整型、浮点型等。sprintf函数的返回值是输出的字符数。
下面是一个示例代码,演示了这三个函数的用法:
```c
#include <stdio.h>
#include <stdlib.h>
int main()
{
char str[100];
int num = 123;
float f = 3.14;
// 使用printf函数输出格式化字符串
printf("num = %d, f = %f\n", num, f);
// 使用puts函数输出字符串
puts("Hello, world!");
// 使用sprintf函数将格式化字符串输出到缓冲区中
sprintf(str, "num = %d, f = %f", num, f);
printf("%s\n", str);
return 0;
}
```
阅读全文