У меня проблемы с вводом при использовании scanf () .Я пытаюсь ввести несколько отдельных символов в двухцветный массив символов.Все работает нормально до последней строки (, как только я в последний раз вхожу во внутренний цикл for ), где программа останавливается и ждет, пока я нажму клавишу ввода, затем она работаеткак задумано снова и заканчивается.Как я могу продолжить выполнение программы, не нажимая клавишу ввода?Примечание. Этот код является просто извлечением программы, содержащей проблему читабельности.
Ввод: Первые два целых числа - это строки и столбцы следующей матрицы, начинающиеся с новой строки, содержащей символы безпробелы, как показано в комментарии в коде
#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при условии такой же идентичной проблемы.
Заранее спасибо