在C语言中,scanf()函数和gets()函数都可用于输入字符串,但是也有很多区别。
主要区别如下:
- gets()的输入分隔符只有回车,因此gets能够读入空格。如果使用gets()输入"Hello World",运行之后的结果是"Hello World",但是使用scanf()输入只能输出"Hello"。
- scanf()和gets()对待缓冲区的回车符也是完全不同的。scanf()在读取非空白符之前会忽略回车,读取之后如果遇到空白字符会停止输入,将其留在缓冲区里。gets()只要一遇到回车就输入结束,并把这个回车从缓冲区里移走。
- gets()可以读取空回车,但是scanf不能。
转载自:https://blog.csdn.net/qq_42820594/article/details/82714251