puts() 和 gets() 是 C 语言中的两个标准输入输出函数,它们用于处理字符串,但有很大不同。
功能:puts() 用于输出字符串,并在字符串后附加换行符。
语法:int puts(const char *str);
参数:单个字符串参数(以 NULL 结尾的字符数组)。
返回值:成功返回一个非负值,失败返回 EOF。
功能:gets() 用于从标准输入读取一行文本。
语法:char *gets(char *str);
参数:指向字符数组的指针,用于存放输入的字符串。
返回值:成功返回输入的字符串指针,失败返回 NULL。
特点:
读取输入直到遇到换行符,并把换行符替换为字符串结束标志 \0。
不会限制输入的字符数,因此存在缓冲区溢出的风险。在 C11 标准中已被弃用,建议使用 fgets()。
char* p, arr[100];
p = arr;
gets(p);
puts(p);