C gets() 和 puts() 函数

2025 年 3 月 28 日 | 阅读 2 分钟

gets() 和 puts() 函数在头文件 stdio.h 中声明。这两个函数都涉及字符串的输入/输出操作。

C gets() 函数

gets() 函数允许用户输入一些字符,然后按回车键。用户输入的所有字符都存储在字符数组中。空字符被添加到数组中以使其成为字符串。gets() 允许用户输入以空格分隔的字符串。它返回用户输入的字符串。

声明

使用 gets() 读取字符串

示例

输出

Enter the string? 
javatpoint is the best
You entered javatpoint is the best

gets() 函数使用起来有风险,因为它不执行任何数组边界检查,并且会一直读取字符直到遇到换行符(回车)。它存在缓冲区溢出的问题,可以通过使用 fgets() 来避免。fgets() 确保读取的字符不超过最大限制。请看下面的例子。

示例

输出

Enter the string? javatpoint is the best website
javatpoint is the b

C puts() 函数

puts() 函数与 printf() 函数非常相似。puts() 函数用于在控制台上打印先前使用 gets() 或 scanf() 函数读取的字符串。puts() 函数返回一个整数值,表示在控制台上打印的字符数。由于它会在字符串后打印一个额外的换行符,将光标移动到控制台上的新行,因此 puts() 返回的整数值将始终等于字符串中存在的字符数加 1。

声明

让我们看一个使用 gets() 读取字符串并使用 puts() 在控制台上打印的例子。

示例

输出

Enter your name: Sonoo Jaiswal
Your name is: Sonoo Jaiswal
下一个主题C 字符串函数