【发布时间】:2016-02-10 21:42:32
【问题描述】:
我正在为我的 C 课做一个单词搜索作业。我需要使用重定向运算符(例如
)从控制台读取字符网格./a.out
我没有从文件中读取数据,所以我不需要使用文件操作。我需要读取此网格,然后将其存储在二维数组中。但是,我的代码只是读取网格的第一行并停止。这是我的代码:
int main(void) {
char inputGrid[50][50];
char solvedGrid[50][50];
char inputString[50];
char ch;
int inputRow = 0;
int rowLength = 0;
int i = 0;
size_t r;
size_t c;
scanf("%[^\n]%*c", inputString);
rowLength = strlen(inputString);
for (r = 0, c = 0; r <= rowLength; r++) {
if (inputString[r] == '\n') {
scanf("%[^\n]%*c", inputString);
inputRow++;
if (inputString[r] != ' ') {
inputGrid[inputRow][c] = inputString[r];
c++;
}
} else
if (inputString[r] != ' ') {
inputGrid[inputRow][c] = inputString[r];
c++;
}
}
// Print the array
for (r = 0; r < strlen(inputString); r++) {
for (c = 0; c < strlen(inputString); c++) {
printf("%c", inputGrid[r][c]);
}
printf("\n");
}
}
我需要以形成方阵的空格分隔字符的形式读取数据。任何帮助将不胜感激。
【问题讨论】: