[C] Compilateur plante sur un scanf
Résolu
quentin
-
quentin -
quentin -
Bonjour,
je suis en train de creer un sous programme pour un projet personel en C et j'obtiens une erreur qui me fait planter le compilateur à cet endroit du programme:
Voilà le programme:
Le message d'erreur vient de windows, il s'agit, à mon avis, d'un dépassement de mémoire (mais je n'en suis pas vraiment sur)...
Voilà le message d'erreur:
Après avoir fait ok, je peux quitter en fermant le compilo, mais si je veux fermer mon invité de commande, il plante et me fait planter le compilo.
Merci d'avance de l'aide que vous pourrez m'apporter,
Quentin.
je suis en train de creer un sous programme pour un projet personel en C et j'obtiens une erreur qui me fait planter le compilateur à cet endroit du programme:
scanf("%d", l_choix);
Voilà le programme:
void nouvelle_partie() { clrscr(); char personage[20]; unsigned int l_choix; gotoxy(25,2); printf("Nouvelle Partie: \n\n\n"); printf("Nommez votre personage: "); scanf("%s", personage); do{ printf("\n\nChoisissez votre race: \n\n"); printf("1- Mage Humain\n\n"); printf("2- Archer Elfe\n\n"); printf("3- Guerrier Nain\n\n"); printf("4- Retour au menu\n\n"); printf("5- Quitter\n\n"); printf("Choisissez votre race: "); scanf("%d", l_choix); switch(l_choix){ case 1: humain(); break; case 2: elfe(); break; case 3: nain(); break; case 4: menu(); break; case 5: break; } if(l_choix!=1 && l_choix!=2 && l_choix!=3 && l_choix!=4 && l_choix!=5) { printf("Merci de saisir un nombre entre 1 et 5"); getch(); } }while(l_choix!=5); }
Le message d'erreur vient de windows, il s'agit, à mon avis, d'un dépassement de mémoire (mais je n'en suis pas vraiment sur)...
Voilà le message d'erreur:
Le projet Project1.exe a provoqué une classe d'exception EAccessViolation avec le message 'Violation d'accès à l'adresse 326636F7. Ecriture de l'adresse 00401214'. Processus stoppé. Utilisez le pas-à-pas ou Exécuter pour continuer.
Après avoir fait ok, je peux quitter en fermant le compilo, mais si je veux fermer mon invité de commande, il plante et me fait planter le compilo.
Merci d'avance de l'aide que vous pourrez m'apporter,
Quentin.
A voir également:
- [C] Compilateur plante sur un scanf
- Plante - Guide
- Code blocks avec compilateur - Télécharger - Langages
- "Pourquoi explorer.exe plante?" ✓ - Forum Windows
- Mon telephone plante que faire - Guide
- Cette plante encore peu connue fleurit toute l'année - Et elle est magnifique ! - Guide
4 réponses
https://en.wikipedia.org/wiki/Scanf
int main(void) {
int n;
while (scanf("%d", &n) > 0) // numeric &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
printf ("%d\n", n);
return 0;
}
int main(void) {
char word[20];
scanf("%19s", word); // string, pas de &&&&&&&&&&&&&&&&&
printf ("%s\n", word);
return 0;
}
int main(void) {
int n;
while (scanf("%d", &n) > 0) // numeric &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
printf ("%d\n", n);
return 0;
}
int main(void) {
char word[20];
scanf("%19s", word); // string, pas de &&&&&&&&&&&&&&&&&
printf ("%s\n", word);
return 0;
}