2016-10-15 18 views
-2

データファイルからグリッドをインポートして何かを実行するプログラムを作成しようとしていますが、グリッドを多次元配列にインポートしようとすると問題が発生します。未処理の例外(C)

whileループ内のif-elseステートメントで「未処理の例外」エラーが発生します。私がコードのこの部分をコメントアウトすると、完全に実行されます。

int main(void) { 
    FILE* grid = fopen(FILE_NAME, "r"); 
    int row = 0; 
    int column = 0; 
    int intGrid[21][21]; 

    // Null check omitted for space. 

    while(fscanf(grid, "%d ", &intGrid[row][column]) == 1) { // Loads the grid into an array 
     if(intGrid[row][column] != -1) 
      column++; 
     else 
      column = 0; 
      row++; 
    } 

誰も私のコードで問題を見つけてください。

+2

Cには例外がありません。したがって、このようなメッセージはCランタイムライブラリから来ている必要があります。 –

+3

インデントが間違っています。中括弧を使用してください... – tkausl

+0

うわー、あなたが正しいです、それは私の非常にばかなことでした。ありがとう! – Dominic

答えて

0

欠落ブラケット:

else { 
    column = 0; 
    row++; 
} 

Withot rowは常にインクリメントされ、迅速に配列の次元を使い果たしてしまうブラケット。