Код запрашивает на одно значение больше, чем нужно - C (СИ)
Формулировка задачи:
Есть вот такой код но при выполнение программы спрашивает на одно больше значение . Например я хочу создать матрицу 2х3 программа должна дать ввести только 6 символов а даёт ввести 7 .Как это исправить?
int i, j,a=0,pr=1; int S,T; int mas[50][50]; setlocale (LC_ALL, "RUS"); printf ("Ввелите количество строк\n"); scanf_s("%d",&S); if (S==0 ){ printf( "Построение невозможно\n" ); printf("Для выхода из программы нажмите любую кнопку\n"); _getch(); return 0;} else{ printf("Введите количесво столбцов\n"); scanf_s("%d",&T); if (T==0){ printf("Построение невозможно"); printf("Для выхода из программы нажмите любую кнопку\n"); _getch(); return 0;} else{ printf("Введите числа через 'Enter'\n"); for ( i = 0; i < S; i++ ) { for ( j = 0; j < T; j++ ){ scanf_s("%d ", &a); mas[i][j]=a; a++; pr*=mas[i][j]; } } printf( "Вот такой массив у нас получился:\n" ); for ( i = 0; i < S; i++ ) { for ( j = 0; j < T; j++ ) { printf( "%d ", mas[i][j] ); } printf( "\n" ); } printf("Результат=%d",pr); _getch(); } } }
Решение задачи: «Код запрашивает на одно значение больше, чем нужно»
textual
Листинг программы
scanf_s("%d", &a);
Объяснение кода листинга программы
- Код использует функцию scanf_s для ввода значения переменной
a
. - Форматный спецификатор
%d
указывает, что вводится целочисленное значение. - Функция scanf_s пытается прочитать целочисленное значение и сохранить его в переменной
a
. - Код не проверяет, успешно ли было выполнено чтение значения.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д