1.scanf和cin
这两种输入以空格、tab或换行作为分隔符。
从缓冲区中读取数据时,若缓冲区中第一个字符是空格、tab或换行这些分隔符时,会将其忽略并清除,继续读取下一个字符。但是如果读取成功,字符后面的分隔符是残留在缓冲区的,不做处理。
当输入的字符串有空格时,就会以空格作分隔符结束,只读取了前半段,这两种输入方式使用就不方便了。
2.gets()和getline()
这两种可以接收有空格的字符串
但若缓冲区第一个字符是空格,换行不会清除
需要清除缓冲区的回车
c可以使用 getchar()
c++可以使用 cin>>ws或cin.sync()