Segmentation fault

Fermé
Helplease - 24 sept. 2020 à 20:21
 Helplease - 24 sept. 2020 à 22:06
L'objectif est de prendre une valeur aléatoire et de faire un jeu jusqu'à ce que l'utilisateur trouve la bonne valeur. Seulement j'obtiens juste "Segmentation fault".


Voici mon code:


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

int main()
{
int value;
int You;

srand(time(NULL));
value = rand();
do{
printf("Find the secret value\n");
scanf("%d",You);
if (You<value){
printf("La valeure secrete est plus grande que %d ", You);
}else
printf("La valeure secrete est plus petite que %d ", You);
}while (You<value );

if (You == value){
printf("Bien joué frero");
}

system("pause");
return 0;
}

1 réponse

[Dal] Messages postés 6194 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 11 octobre 2024 1 092
Modifié le 24 sept. 2020 à 22:08
Salut Helplease,

Tu dois passer à scanf l'adresse de la variable où le int devra être stocké par scanf.

Donc, dans ton cas, tu devras faire
scanf("%d",&You);
et ton segfault devrait disparaître.

Une fois que tu auras corrigé ce bogue, tu te rendras compte que ton algorithme est faux par rapport à l'objectif du programme.

"jusqu'à ce que l'utilisateur trouve la bonne valeur" cela veut bien dire qu'il fait des essais jusqu'à ce qu'il trouve, n'est-ce pas ?

Dal
1
[Dal] Messages postés 6194 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 11 octobre 2024 1 092
24 sept. 2020 à 22:05
Note : pour poste du code sur le forum, fais le avec les balises de code du forum. Sinon, c'est affreux à lire.
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
0
Merci beaucoup
0