Variable modifié entre deux fonctions [Résolu] - C - Programmation
Marsh Posté le 10-02-2013 à 11:25:13
Code :
|
Ceci ne fonctionne pas car hauteur est une adresse (pointeur sur un entier). il faut mettre
Code :
|
De même pour la longueur.
Marsh Posté le 10-02-2013 à 11:44:17
Merci pour ton aide mais j'avais essayé, ça me retourne la même chose
une fois que je met un chiffre même sans le *hauteur il me retourne le bon chiffre.
Une fois que je sort de la fonction je le teste avec un printf et le chiffre est bon je rentre dans la fonction initialisation, la le chiffre a changé
Marsh Posté le 10-02-2013 à 12:09:45
Les incohérences sont les suivantes :
Déclaration des variables :
Code :
|
Déclaration de la fonction d'initialisation :
Code :
|
Utilisation des variables :
Code :
|
Vous passez un triple pointeur au lieu d'un double (pour plateau) et des pointeurs au lieu de valeurs (hauteur, longueur)
Note : Les "warnings" du compilateur auraient dû vous mettre la puce à l'oreille
Edit : En lisant la fin des "warnings", pas besoin de boule de cristal pour prédire que vous allez avoir le même problème avec la fonction "affiche_fichier"
Marsh Posté le 10-02-2013 à 12:31:24
ces fonction sont dans l'énoncé éventuellement ce qui pourrais être faux est :
initialisation(&plateau,&hauteur,&longueur);
Marsh Posté le 10-02-2013 à 12:52:56
L'idée est le manque de cohérence entre la déclaration et l'appel.
Si la déclaration est fixée, c'est l'appel qui est incorrect, en effet.
Globalement, comprendre et, sauf cas particulier, corriger tous les warnings de compilation est nécessaire, le compilateur ne les émet pas par plaisir mais pour indiquer que quelque chose ne va pas.
Marsh Posté le 10-02-2013 à 16:15:15
Et bien merci j'ai réussi grâce a vous a trouver le problème en effet il faillait appeler avec :
initialisation(plateau,hauteur,longueur);
idem pour les affichages
Marsh Posté le 10-02-2013 à 11:07:44
Bonjour a tous et a toutes je suis actuellement en train de faire un 'Jeu de la vie' pour un devoir.
je rentre mes fonction notamment une pour la création d'un tableau dynamique mais entre 2 fonctions mes valeurs changent sans que (ré)assigne les variables.
exemple ma hauteur je la met a 9 longueur aussi a 9
et bien quand je l'affiche elle passe a 2686720 pour la hauteur et 2686716 pour la longueur et ce peu importe le nombre que je met dans la variable
http://puu.sh/20hjU
Avez vous une idée de ce qu'il se passe a mes variable ?
Mon Main:
le .c de mon header
Mon header
le compilateur me dit :
D'avance merci Mimic²
Message édité par Mimic² le 10-02-2013 à 16:16:14