使用 scanf()时,输入出现问题。我正在尝试将一堆单独的字符输入到二维字符数组中。一切正常,直到最后一行(最后一次进入内部for-loop )程序停止运行,然后等我按Enter,然后它再次按预期工作并完成。我如何在无需按Enter的情况下继续执行程序?注意:此代码只是对程序的提取,其中包含可读性问题。
输入:前两个整数是以下矩阵的行和列,该行和列从包含字符而不带空格的换行符开始,如代码中的注释所示
#include <stdio.h>
int main(void)
{
char matrix[100][100];
int nrows;
int ncols;
scanf("%d %d", &nrows, &ncols);
for (int i = 0; i<nrows; i++) {
for (int j = 0; j<ncols; j++) {
scanf(" %c", &matrix[i][j]);
printf("[%d][%d]\n", i, j); //to check pause
}
}
return 0;
}
//10 20
//%%%&&%%%%%&&&%&%&&&%
//%%%&&%%%%%&&&%&%&&&%
//%%%&&%%%%%&&&%&%&&&%
//%%%&&%%%%%&&&%&%&&&%
//%%%&&%%%%%&&&%&%&&&%
//%%%&&%%%%%&&&%&%&&&%
//%%%&&%%%%%&&&%&%&&&%
//%%%&&%%%%%&&&%&%&&&%
//%%%&&%%%%%&&&%&%&&&%
//%%%&&%%%%%&&&%&%&&&%
使用getchar()
并在同时包含'\n
'和EOF的一段时间内一直在寻找解决方法,并尝试了前进的方向。
提前谢谢