相同点:字符串接受结束后自动加’\0’
不同点:scanf用%d输入数字或用%s输入字符串时,在开始读之前会跳过空格、回车或制表符等空白字符,再次遇到这些字符时,系统认为读入结束,因此不能输入带空格的字符串。未读取到的被留在了输入缓冲区中。
gets()以回车符作为字符串的终止符,同时将回车符从缓冲区读走,但不作为字符串的一部分。而scanf()不读走回车符,回车符仍留在输入缓冲中。
相关文章
- C语言scanf()和gets()及printf()和puts()的区别
- C语言中输入函数(scanf()、fgets()和gets())的区别详解
- c语言获取用户输入字符串是scanf和gets的区别详解
- C gets()、scanf和getchar()的区别
- 在输入输出字符串时scanf(),printf()和gets(),puts()的区别浅谈
- C语言中(字符串)输入scanf()、gets()、fgets()以及getchar()函数的联系与区别
- 字符串的输入scanf 和gets
- 【C语言天天练(十五)】字符串输入函数fgets、gets和scanf
- 用scanf()和gets()输入字符串的区别
- scanf与gets函数读取字符串的区别(转)