1:scanf
scanf会忽略开头所有的空格,并以Space Enter Tab 结束输入,
不会舍弃最后的回车符(即回车符会残存在缓冲区域中)
2:getchar
getchar以Enter结束,
也不会舍弃最后的换行符
getchar可以读取scanf之后留在缓冲区域留下的换行符
也就是说用getchar和scanf读取数据之后缓冲区域会留下换行符,但是用gets读取之后缓冲区域不会留下换行符
3:gets
读取以任何字符开头的字符串,
以换行符结束,但是最后会舍弃换行符并以'\0'代替
需要特别特别注意的是,如果一行中出现多个数据,千万不要用gets,因为gets到这行结束之后才结束