er Versuch, auf ein Array-Element in der Schleife zuzugreifen, führt zu einem Segmentierungsfehler. Waru

Ich versuche, ein zweidimensionales Array zu erstellen, bei dem jeder Koordinate entweder 1 oder 0 zufällig zugewiesen wurde. Es funktioniert einwandfrei, bis die Koordinaten erreicht sind [20] [3]. Danach wirft es einfach "Segmentierungsfehler 11" aus.

Ich bin absolut ahnungslos wie oder warum. Zumal ich zum Beispiel eine Matrix mit 200 * 200 erstellen kann, es aber immer noch das gleiche Problem gibt, nur an den Koordinaten [200] [3]. Es ist also irgendwie immer die dritte y-Koordinate in der letzten x-Koordinate, in der der Fehler auftritt.

#include <stdio.h>
#include <stdlib.h>

int main() {

  int x, y, i, j ;
  x = 20;
  y = 20;

  int grid [x][y];

  for ( i = 0; i <= x; i++) {
    for ( j = 0; j <= y; j++) {

      grid[i][j] = rand() % 2 ;

      printf("grid [%d][%d]: %d\n", i, j, grid[i][j]);

    }
  }
  return 0;
}

Antworten auf die Frage(4)

Ihre Antwort auf die Frage