scanf()在多行输入中的暂停循环

时间:2018-06-25 21:01:20

标签: c input char scanf getchar

使用 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的一段时间内一直在寻找解决方法,并尝试了前进的方向。

提前谢谢

0 个答案:

没有答案