Probleme C

Fermé
jc - 18 déc. 2008 à 18:08
 jc - 18 déc. 2008 à 19:18
Bonjour,
j'ai un soucis avec cette fonction:
void gravity(int colplay, int **board, int action, int nbline)
{
int i=0;


while (board[i+1][colplay] == 0 && i<nbline)
{
i++;
printf("TEST : %d", i);
}
if (action == 1)
{
board[i][colplay] = 1;
}
else
{
board[i][colplay] = 2;
}
}

cygwin compile comme il faut, mais à l'appelle de cette fonction il y a un segmentation fault
le mot "test" ne s'affiche pas; quelqu'un aurait une idée ?

merci

2 réponses

mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 436
18 déc. 2008 à 18:37
t'as fait une allocation de memoire pour board autre part dans ton programme ?
0
nan pas d 'autre allocation
par contre j'ai un reel soucis avec les printf("\n")
j arrive a faire boucle le while, en affichant la valeur de i a chaque fois mais si je mets pas le \n ca me marque rien.
0
mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 436
18 déc. 2008 à 19:10
là je comprend plus grand chose...
tu dis que tu as une segfault et que ça ne t'affiche pas la ligne avec le mot "test" et tu m'as dit que tu n'as pas fait d'allocation ça doit pour ça esaye d'allouer de la memoire à board avec un malloc
ensuite tu parle de probleme avec printf("\n"); mais je n'en vois aucun dans ton programme...
0
oui j ai rajouté des \n après.

mais le problème est resolu, le dépassais du tableau

merci quand même c est gentil!
0