0

このコードを完成させることができません。助けてください! 行列にする必要があり、プログラムは行列の項目を関数で読み取ります

int main(int argc, char *argv[])
{ 
   int r1,c1;
   printf("Enter dimension of first matrix :");
   scanf("%d %d",&r1,&c1);

   int m1[r1][c1];
   GetArray(m1,r1,c1);


   system("PAUSE"); 
   return 0;
}
void GetArray(int arr[][],int _row,int _column)
{
    int i,j,num;
    printf("Enter number: ");
    for(i==0;i<_row;i++){
        for(j==0;j< _column;j++){
           scanf("%d",&num);
           arr[i][j]=num;}} //give error in this line
}
4

2 に答える 2

1

Cプログラミングで==は、は比較に=使用され、代入操作に使用されます。あなたは間違いなくあなたのループにjそしてiあなたのforループの中で値を割り当てたいでしょう。あなたの場合、ループ変数を初期化しておらず(関数の最初で宣言した場合)、初期化されていないときにガベージ値を取得するため、で使用している配列の境界を超えて到達しようとします。forループするため、セグメンテーション違反が発生します。

于 2013-03-20T20:03:36.757 に答える