Segmentation fault
Helplease
-
Helplease -
Helplease -
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;
}
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
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
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
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
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code