Я написал код C для операции с матрицей. Значения строк и столбцов должны определяться пользователем. Когда я пытаюсь запустить код, появляется всплывающее окно с надписью «matrix_addition.exe has stopped working
». Почему это так? При построении кода ошибки нет.не может запустить матричную операцию. Программа C в кодовых блоках.
#include <stdio.h>
int main()
{
int r,c,i,j,a_matrix[r][c],b_matrix[r][c];
printf("Enter the number of rows and columns of matrix\n");
scanf("%d %d", &r, &c);
printf("enter the elements of the first matrix \n");
for(i=0;i<r;i++)
{
for(j=0;j<c;j++)
{
printf("a_matrix[%d][%d]:",i,j);
scanf("%d",&a_matrix[i][j]); //array input
}
}
printf("\n enter the elements of the second matrix \n");
for(i=0;i<r;i++)
{
for(j=0;j<c;j++)
{
printf("b_matrix[%d][%d]:",i,j);
scanf("%d",&b_matrix[i][j]); //array input
}
}
return 0;
}
См. Изображение, связанное с всплывающим окном ошибки.
Ожидали ли вы '' a_matrix' и b_matrix' волшебно вырасти до нужного размера раз '' r' и c' были назначены допустимые значения? Это не так, как C работает, в общем. – unwind
для удобства чтения и понимания: 1) следовать аксиоме: * только один оператор на строку и (самое большее) одно объявление переменной для каждого оператора. * 2) имена переменных должны указывать на «контент» или «использование» (или лучше, оба). – user3629249
значения переменных 'r' и' c' должны быть назначены перед их использованием для объявления массивов: 'a_matrix [r] [c]' и 'b_matrix [r] [c]' <- это основная проблема с кодом – user3629249