📅  最后修改于: 2023-12-03 15:29:43.249000             🧑  作者: Mango
在 C 语言中,gets() 和 puts() 函数用于从标准输入设备(键盘)读取输入字符串和向标准输出设备(屏幕)写入输出字符串。这两个函数是C语言标准库中最常用的I/O函数之一。
gets() 函数用于从标准输入设备(键盘)读取一个字符串,该字符串以换行符'\n'结尾,然后将该字符串存储到指定的字符数组中。
char *gets(char *str);
str
:要接收输入字符串的字符数组指针gets()
函数返回的是读取的字符串指针,如果读取字符串过程中遇到文件结束标志EOF(End Of File),则会返回空指针(NULL)。使用gets()函数时,请一定要注意数组越界的问题,gets()函数是没有安全机制的,无法检查字符数组是否足够大以存储输入的字符串,因此,如果输入的字符串长度大于数组长度,则会发生缓冲区溢出的问题,导致程序崩溃。
puts() 函数用于将一个字符串输出到标准输出设备(屏幕),然后自动在末尾添加一个换行符'\n'。
int puts(const char *str);
str
:要输出的字符串puts()
函数返回成功输出的字符个数,不包括自动添加的换行符。使用puts()输出字符串时,无需考虑字符串长度,只需将要输出的字符串作为参数即可。
#include <stdio.h>
#define MAX_SIZE 100
int main() {
char str[MAX_SIZE];
printf("请输入一个字符串:");
gets(str);
printf("您输入的字符串是:%s\n", str);
return 0;
}
#include <stdio.h>
int main() {
char str[] = "hello, world!";
puts(str);
return 0;
}