Код запрашивает на одно значение больше, чем нужно - 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);

Объяснение кода листинга программы

  1. Код использует функцию scanf_s для ввода значения переменной a.
  2. Форматный спецификатор %d указывает, что вводится целочисленное значение.
  3. Функция scanf_s пытается прочитать целочисленное значение и сохранить его в переменной a.
  4. Код не проверяет, успешно ли было выполнено чтение значения.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.846 из 5
Похожие ответы