C语言中输入函数(scanf()、fgets()和gets())的区别详解

2020-01-06 18:07:02刘景俊

危险:任何时候均要避免使用该函数,虽然它存在已经有很长一段时间了。

区别:

1.是否对用户输入的字符个数有所限制?

两者均有所限制,但scanf函数需要你在格式化说明符中显示注明,若不注明则无限制,可能会导致溢出事故;fgets函数则将其作为一个形参予以强制规定。

2.用户是否可以同时输入多个域的数据?

scanf函数可以通过添加多个格式化输入说明符来实现多域输入,而fgets函数每次仅能对一个域赋值。

3.用户输入的字符串中可以包含空格类字符吗?

 scanf函数会把空格符当做字符串的结束符,故不可以在一个字符串中含有空格。而否则可以。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对ASPKU的支持。


注:相关教程知识阅读请移步到C++教程频道。