Je souhaite que l'utilisateur entre une série de lignes que je lis en tant que caractères, et enregistrez-le dans un tableau. J'ai une fonction d'utilité qui devrait imprimer la valeur de chaque article dans la grille. Toutefois, la ligne printMaze()
qui utilise putchar()
provoque une erreur de segmentation, probablement parce que quelque chose est en désordre avec l'argument **maze
, bien que je ne sache pas ce qui le cause, ni comment le réparer. Voici le code ci-dessous.C Arrays Char provoquant une erreur de segmentation
#include <stdio.h>
#include <stdlib.h>
void printMaze(char **maze, int width, int height){
for (int x = 0; x < width; x++){
for (int y = 0; y < height; y++){
putchar(maze[x][y]);
}
}
}
int main(int argc, char *argv[]){
int width, height;
scanf("%d %d", &height, &width);
char originalMaze[width][height];
for (int y = 0; y < height; y++){
for (int x = 0; x < width; x++){
originalMaze[x][y] = getchar();
}
getchar();
}
printMaze(originalMaze, width, height);
return 0;
}
Activez les avertissements du compilateur et lisez-les. – 2501
Les avertissements du compilateur sont activés et il n'y a pas de sortie autre que la réussite de la génération. –
Activer davantage d'avertissements du compilateur: https://ideone.com/Af6Pwl. -Wall -Wextra devrait attraper ça. – 2501