字符串输入输出
前言
当我们进行字符串输入时,scanf函数和转换说明%s只能读取一个单词。所以,要进行整行输入,需要用到gets
puts()一定要是字符串,即最后需要有’\0’
函数
gets()
参数
(字符数组地址)说明
遇到’\n’结束,丢弃’\n’,在最后加上’\0’。这使得gets()可以于puts()有很好的配合缺点
缓冲区溢出,破坏栈中的内容。
当我们传入字符串数组的首地址时,gets只知道元素的开始处。这样会导致缓冲区溢出。它在遇到 EOF 字符或换行字符之前,不会停止读入文本。也就是:gets() 根本不执行边界检查。因此,使用 gets() 总是有可能使任何缓冲区溢出。
puts()
参数
(字符数组地址)说明
遇到’\0’结束,并且在最后加上’\n’
示例
1 |
|
