C, variable renvoie 2686768

Résolu
fpm30 -  
 fpm30 -
Bonjour à vous, je suis les cours de langage C sur le site du zéro et j'ai un problème pour intégrer un compteur incrémental sur un jeu de + ou -.

Le printf me renvoie "vous avez trouve en 2686768 tentatives !".

Voici mon code :

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>

int main()
{
const int MIN = 1, MAX = 100; //on définit l'intervalle
int proposition = 0;
int progress = 0, nombreMyst = 0;
unsigned int tentatives = 0;

srand(time(NULL));
nombreMyst = (rand() % (MAX - MIN + 1)) + MIN; //On genere un nombre aleatoire entre min & max

printf("Proposez un nombre entre 1 & 100 :\n");


while(progress == 0) // on repete la quest0 tant que ce n'est pas trouvé, bonne reponse -> progress = true
{


scanf("%d", &proposition); // on recupere la valeur entree
tentatives = tentatives++;

if (proposition < nombreMyst) // On compare les deux valeurs
{
printf("C'est plus grand !\n");
}

else if (proposition > nombreMyst)
{
printf("C'est plus petit !\n");
}

else if (proposition == nombreMyst)

{
printf("Bravo c'est le bon nombre, vous avez trouve en %d tentatives !\n", &tentatives);
progress = 1; // on fixe progress sur vrai, fin de la boucle while
}


}
return 0;
}


J'ai trouvé 2 sujets portant sur cette erreur à propos des tableaux mais je n'ai pas bien comprit la réponse.
Merci d'éclairer ma lanterne :)

2 réponses

fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Bonjour,

tentatives = tentatives++;
Comportement non défini.
Soit tu mets : tentatives = tentatives + 1; (ou tentatives+=1;) ou tentatives++;

Cdlt,
0
fpm30
 
Bonjour et merci pour la réponse,
il y avait effectivement une erreur ici cependant même après ça mon problème persiste, si vous avez d'autres solutions je suis preneur.
Merci
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Ah j'avais pas vu.
Printf(".%d",&tentatives);
Si tu fais ça, tu vas afficher l'adresse en integrer de la vairable au mieu de son contenu. Le compilateur doit le signaler. Pour corriger il suffit denlever lesperluette : &
Cdlt
0
fpm30
 
C'était bien ça ! Je te remercie bien car à y repenser j'avais déjà ce problème sur d'autres programmes.
0