SEGMENTATION FAULT

Résolu
tekila_bandita Messages postés 248 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 15 mars 2007 - 11 oct. 2005 à 19:39
tekila_bandita Messages postés 248 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 15 mars 2007 - 12 oct. 2005 à 13:06
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

mezaya Messages postés 202 Date d'inscription dimanche 18 mai 2003 Statut Membre Dernière intervention 6 mars 2010
11 oct. 2005 à 23:42
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
3
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
11 oct. 2005 à 21:05
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 ;)
0
tekila_bandita Messages postés 248 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 15 mars 2007 33
12 oct. 2005 à 13:06
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 !
0
Rejoignez-nous