最后一个字符串无法读入

代码如下

img

测试数据如下

img

运行结果

img

在第一次循环的时候s1中总是什么都没有,本该放入s1的字符串被放进了s2,导致数据中的最后一个字符串没有地方放
我尝试过在第八行那个cin>>n;改为cin>>n>>m;

img

程序就可以正常运行了,输出的结果也是对的但是需要在数据的结尾多加一个换行才能输出全部的结果
请问为什么会这样?

因为getchar会把最后的回车符取走,所以控制台认为输入没有结束

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^