C++ 与scanf的问题(“s”)

C++ 与scanf的问题(“s”),c++,scanf,C++,Scanf,应该给出输出 3 2 1 11 2 2 11 4 1 1001 这基本上是一个做一些标准编程比赛的代码。它接收测试用例的数量,并为每个测试用例打印出两行所需的答案。现在,当我逐行键入所有输入时,它工作正常,我得到所有输出。但是,当我只是复制粘贴所有的输入一起,我只得到一切,但最后的输出,我必须按下回车键,以获得最后的输出。现在我做了一些基本的调试,发现它与scanf(“%s”,ch)代码行有关。任何帮助。。我也觉得程序的逻辑并不重要。我这里缺少更基本的内容…我认为在复制粘贴文本时不会复制“\r

应该给出输出

3
2 1
11
2 2
11
4 1
1001

这基本上是一个做一些标准编程比赛的代码。它接收测试用例的数量,并为每个测试用例打印出两行所需的答案。现在,当我逐行键入所有输入时,它工作正常,我得到所有输出。但是,当我只是复制粘贴所有的输入一起,我只得到一切,但最后的输出,我必须按下回车键,以获得最后的输出。现在我做了一些基本的调试,发现它与
scanf(“%s”,ch)
代码行有关。任何帮助。。我也觉得程序的逻辑并不重要。我这里缺少更基本的内容…

我认为在复制粘贴文本时不会复制“\r\n”

删除空行并重新缩进代码。警告:此代码可被利用。您不应该使用
scanf(“%s”)
您的建议是什么?您可以使用std::cin,但为什么只用于最后一次输入呢?可能是因为没有。您可以将文本粘贴到文本编辑器(如记事本+),并启用“不可见字符”。你将看到是否有新行。
3
2 1
11
2 2
11
4 1
1001
1
10
0
11
2
1010