Aide d'urgence sur ce programme .c
pbs
Messages postés
31
Statut
Membre
-
Canard007 Messages postés 5936 Statut Contributeur -
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);
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:
- Aide d'urgence sur ce programme .c
- Programme demarrage windows - Guide
- Programme word gratuit - Guide
- Message programmé iphone - Guide
- Mettre en veille un programme - Guide
- Desinstaller un programme sur windows - Guide
6 réponses
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?
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?
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)
{
....
}
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)
{
....
}
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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(...)....;
}
donc
for(...)
{
for(...)....;
}
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.