Bonjour, je suis débutant en C, j'utilise cygwin pour compiler et executer.
Je cherche a écrire une fonction qui rempli une grille de '.' et l'afficher ensuite (dans le but de créer un puissance 4).
Seulement lorsque je compile avec gcc , la compilation se passe bien, mais l'execution plante après le passage des parametre et me renvoi l'erreur :
"[main] puissance4 4732 _cygtls::handle_exceptions : Error while dumping state (probably corrupted stack)
Segmentation fault (core dumped) "
Lorsque je compile et execute avec Dev C, le programme plante carrement...
Quelqu'un pourrait me dire ou se situe l'erreur car j'ai beau chercher et tester , pas moyen de resoudre.
Voila le code:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <time.h>
#include <assert.h>
#include <windows.h>
// afficher la grille
void affiche() {
int i,j,nbC,nbL;
char grille[nbC][nbL];
for (i=0; i<nbL ; i++) {
for (j=0; i <nbC ; j++) {
printf("%s",&grille[i][j]);
}
}
}
int main () {
// passage des parametres de jeu
int choix_mode, commence, nbL, nbC, i, j;
char grille[nbL][nbC];
while ( choix_mode != 1 && choix_mode != 2 && commence !=1 && commence !=2) {
printf("Quel mode de jeu ? \n");
// mode de jeu
printf("mode : joueur vs joueur [1] joueur vs ordinateur [2] ?");
scanf("%d", &choix_mode);
if (choix_mode != 1 && choix_mode != 2) {
printf("Les choix doivent etre 1 ou 2 \n");
}
// Qui commence ?
printf("Qui commence [1 ou 2] ?");
scanf("%d", &commence);
if (commence != 1 && commence !=2 ) {
printf("Les choix doivent etre 1 ou 2 \n");
}
}
// détermination de la taille du tableau et definition du tableau et affichage
printf("Quelle est la taille du tableau ?\n");
printf("Nombre de ligne?");
scanf("%d", &nbL);
printf("Nombre de colonne?");
scanf("%d", &nbC);
for (i=0; i<nbL; i++) {
for (j=0; j<nbC; j++) {
grille[i][j]='.' ;
}
}
affiche();
return 0;
}
merci