1. char数组:
使用scanf("%[^c]",s)可以以c字符为间隔读取字符串。
所以scanf("%[^\n]",s)可以以读取以换行符为间隔读取字符串。
但是它不会吃掉换行符,所以scanf连着用时要用getchar()把中间的换行符吃掉才行。
2. string
使用getline(cin,s)可以以换行符为间隔读取字符串。
它会吃掉换行符,所以getline连着用不需要用getchar()吃掉换行符。
原文:https://www.cnblogs.com/FrankChen831X/p/12491304.html