SEGMENTATION FAULT [Résolu]

Signaler
Messages postés
248
Date d'inscription
mercredi 15 juin 2005
Statut
Membre
Dernière intervention
15 mars 2007
-
Messages postés
248
Date d'inscription
mercredi 15 juin 2005
Statut
Membre
Dernière intervention
15 mars 2007
-
Je me suis sous unix depuis peu, et je commence le c depuis peu (je programme vb sinon), et mon problemeet que mesprogrammes c ne marche pas...
meme les plus simplistes, ilsme generent tous un "segmentation fault"...
voici le plus nul code qui me genere une erreur :

#include <stdio.h>

int main(void)
{
unsigned char nom;
printf("quel est ton nom ?\n");
scanf("%C");
scanf("%D");
return 0;
}

voila!
j'aimerais savoir que signifie "segmentation fault" et pourquoi ce code me genere uune erreur de ce type...?

et sinon, j'aimerais
savoir si fopen se trouve bien dans stdio.h..?

Merci !

3 réponses

Messages postés
202
Date d'inscription
dimanche 18 mai 2003
Statut
Membre
Dernière intervention
6 mars 2010

essaye ça plutot :



#include <stdio.h>



int main(void)

{

char nom[50]; // chaine de maximum 49 craratère ( + caractère de finde chaine '\0' )

printf("quel est ton nom ?\n");



scanf("%s" , nom ); // %s pour chaine de cartère , %c pour 1 seul caractère , %d pour un entier , %f pour un flotant



printf("tu t'appelle : %s" , nom ); // pour afficher la chaine de cartère contenu dans nom



return 0;

}

Voili,Voilou
Messages postés
1536
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
24 mai 2009
2
Parce que scanf() va aller chercher sur la pile l'adresse d'un char et d'un entier que tu lui demandes de recuperer, et bien entendu il va recuperer n'importe quoi sur la pile, et donc tenter de stocker ce que tu demandes a une adresse invalide, et la PAF, segfault ;)
Messages postés
248
Date d'inscription
mercredi 15 juin 2005
Statut
Membre
Dernière intervention
15 mars 2007
21
Ah ou, zut, j'avais oublié de mettre lavariable contenant ce que l'utilisateur a tapé sur lele mess du forum, mais sinon je pense que mezaya a résolu mon probleme, merci en tout cas !