【发布时间】:2016-05-09 10:38:42
【问题描述】:
我正在尝试在我的 C++ 程序中扫描二维字符数组。问题是我的代码没有按预期扫描整个数组。例如,如果我希望它扫描 41*41 数组,那么由于某种原因它停在第 40 行,当我按下回车键时,它会扫描剩余的一行。这是一段简单的代码。
#include <iostream>
char G[101][101];
int N,M;
using namespace std;
int main(int argc, const char * argv[]) {
cin >> M >> N;
cout << "m n scanned" << M << N << "\n";
for (int t =0;t<M;t++) {
for (int j = 0;j<N;j++) {
cin >> G[t][j];
cout << "scanned " << t << " " << j << "\n";
}
}
return 0;
}
编译:testProj $g++ main.cpp -o main
我在这里错过了什么?
编辑:输入 41 41
预期输出: 扫描 40 40
实际输出
扫描 39 40
按回车
....
扫描 40 40
【问题讨论】:
-
您为程序提供了哪些输入,您得到的输出与您期望的结果相比如何?
-
@JoeF 用输入和输出编辑了问题。
-
你需要给
cin一个结束符号,比如空格或者回车。 -
It works for me。上次输入后是否按回车键。 (41 * 41 字符)?
-
@songyuanyao 我该怎么做?