输入将通过控制台读取。示例:code.exe< sample.txt的
sample.txt看起来像这样:
1 + 2
3 + 4
6 + 9
我正在尝试创建一个通过控制台读取输入的程序,然后将数据存储到数组中。这是我创建的代码,我无法弄清楚为什么会出错。
int main(void) {
int c;
int i = 0;
int j = 0;
int line[1000][1000];
while((c = getchar()) != EOF) {
line[i][j] = c;
j++;
if(c == '\n') {
line[i][j] = 0;
i++;
j = 0;
}
}
此代码尝试执行以下操作:
line [0] [0]< - {1,+,2}
行[1] [0]< - {3,+,4}
line [2] [0]< - {6,+,9}
非常感谢你! :)
编辑:我得到的错误基本上是,“code.exe已经停止工作”对不起,这不是很有用的信息:/
答案 0 :(得分:0)
我运行了代码。显然我的错误是制作一个大小为[1000] [1000]的数组。我意识到这大约是1,000,000 * 4字节~4 MB的连续内存。当数组的大小较小时,代码可以工作。
现在我的代码。
int main(void) {
int c;
int i = 0;
int j = 0;
int line[100][100];
while((c = getchar()) != EOF) {
line[i][j] = c;
j++;
if(c == '\n') {
line[i][j] = 0;
i++;
j = 0;
}
}
}