相同点: 1、scanf(%s)和gets都是c语言中用来接收字符串的函数。 2、接受完后都会在字符串的末尾加上‘\0’作为字符串的结束。 不同点 1、scanf遇到空格、换行、制表符都为认为字符串已经结束。 2、scanf如果接收的第一个字符是换行,那么将会跳过该字符的接收。 3、scanf遇到回车但是不接收回车,get遇到回车会将回车接收。 另外:window系统中换行是由两个字符:\r\n两个字符组成。linux系统下换行只有一个字符\n。