Aide d'urgence sur ce programme .c

pbs Messages postés 31 Statut Membre -  
Canard007 Messages postés 5936 Statut Contributeur -
g f'ait ma fonction lire_etat q j'appelle dans le main() avant je l'ai initialiser mon damier et quand je ve mettre le premier pion sur le damier il me sort un nbre aléatoire,il me fé un segmentation fault est ce q vous pouvez me guider un peu merci.
main(int argc , char *argv[])
{
int *pt;
int taille = atoi(argv[1]);
pt = malloc(taille * taille * sizeof (int));
/* initialisation du damier */
for(i=0;i<taille;i++)
for(j=0;j<taille;j++)
*(pt +taille * i+j) = 0;
lire_etat();
}

void lire_etat()
{
*(pt+taille*i+j) = blanc / g fé un #define blanc 1 */
pion_blanc ->position = *(pt+taille*i+j);
printf("%d\n",(pion_blanc->position);
A voir également:

6 réponses

marvinrouge
 
Salut Pbs,

i et j sont pas définis dans la fonction lire_etat donc ils valent n'importe quoi !
0
Canard007 Messages postés 5936 Statut Contributeur 215
 
rassure moi..ca compile pas ton truc la?
0
yomip
 
et pis la fonction lire_etat est louche:la 1ere ligne devrait être: *(pt+taille*i+j) = blanc; /* g fé un #define blanc 1 */ (mankait le ; et le commentaire bien fait),
mais surtout où est défini pion_blanc? et pis c vré où sont définis les variables i et j du main et de lire_etat?
0
Canard007 Messages postés 5936 Statut Contributeur 215
 
donc tu as deja une aide i et j pas declaré..
autre indice
tu utilise dans lire etat pt et je suppose qu il sagit de int *pt;
que tu declare dans le main...le probleme c est que si tu ne li passe pas pt ba sa marchera pas..
fo faire dans le main lire_etat(pt)

et lire_etat(int *pt)
{
....
}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Canard007 Messages postés 5936 Statut Contributeur 215
 
puis ta boucle for ca va bugger si ya plus d une ligne fo mettre des accolade ce qui est les cas vu que tu a une boucle for puis le code..
donc
for(...)
{
for(...)....;
}
0
pbs Messages postés 31 Statut Membre
 
c des bout de codes que je vous ai mis pour voir. le code tout entier je ne l'ai pa mis. g pris que l'extrait qui ne marche pas et la partie avec la quelle il est appelé. mon probléme c que arrivé a la fonction lire_etat il execute un printf("test\n"); qui me sert de test pour voir s'il rentre bien dans cette fonction et aprés il fé un segmentation fault.
0
Canard007 Messages postés 5936 Statut Contributeur 215
 
ba le probleme c est que si tu nous file que des bout de code pris a droite a gauche yauar un prob...file nous le vrai code avec ton printf...et on verra..
0