行列演算用の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;
}
あなたは 'r'と 'C'は、有効な値を割り当てた後、' a_matrix'と 'b_matrix'は魔法の適切なサイズに成長することを期待しましたか?それは一般的にCの仕組みではありません。 – unwind
:1)公理に従う:*行ごとに1つのステートメント、ステートメントごとに1つの変数宣言のみ* 2)変数名は、「content」または「usage」(またはそれ以上)。 – user3629249
変数 'r'と' c'の値は、 'a_matrix [r] [c]'と 'b_matrix [r] [c]' < - これがメインです'scanf()'ファンクションファミリのいずれかを呼び出すときにコード – user3629249