相同点:字符串接受结束后自动加’\0’
不同点:scanf用%d输入数字或用%s输入字符串时,在开始读之前会跳过空格、回车或制表符等空白字符,再次遇到这些字符时,系统认为读入结束,因此不能输入带空格的字符串。未读取到的被留在了输入缓冲区中。
gets()以回车符作为字符串的终止符,同时将回车符从缓冲区读走,但不作为字符串的一部分。而scanf()不读走回车符,回车符仍留在输入缓冲中。
相关文章
- Java 中 关于实现字符串反转的几种操作(CharAt6、append1、reverse3、法)(用户从键盘输入一个1~999判断回文)(StringBuffer和String区别简略介绍)
- c语言获取用户输入字符串是scanf和gets的区别
- 【C语言天天练(十五)】字符串输入函数fgets、gets和scanf
- C语言之scanf和gets在字符串输入时遇到空格?
- 关于scanf 与 cin gets(),getline()......输入输出字符串的区别
- scanf和gets的区别
- 【C语言】gets()和scanf()函数的区别
- C语言scanf()和gets()及printf()和puts()的区别
- Java中 输入字符串的时候next()和nextLine()有什么区别
- C语言中输入函数(scanf()、fgets()和gets())的区别详解