Scanf()

cs_clb Messages postés 2 Date d'inscription mardi 17 octobre 2000 Statut Membre Dernière intervention 27 avril 2002 - 27 avril 2002 à 17:33
SERGIOOO27 Messages postés 3 Date d'inscription lundi 19 mars 2007 Statut Membre Dernière intervention 20 mars 2007 - 21 mars 2007 à 12:01
bonjour à tous,

j'ecris par exemple :

int fonction(){

if(true) return 0;
else return -1
}
dans main, si cette fonction retourne 0,
alors j'applique un scanf() :

int main(){
int choix;

if (fonction() == 0)
scanf("%d", &choix);
}

tout ce passe bien à la compilation mais lors de l'appel du prog, ça plante.

si je passe le scanf avant cette fonction, c'est bon.

Si vous avez la soluce, merci.

3 réponses

ADPro22 Messages postés 126 Date d'inscription mercredi 18 juillet 2001 Statut Membre Dernière intervention 27 octobre 2004
27 avril 2002 à 19:36
Bof, quand inl ne manque pas de point virgule, ça marche...

#include <stdio.h>

int fonction(){
if(true) return 0;
else return -1; // ici le point virgule !
}

int main(){
int choix;

if (fonction() == 0)
scanf("%d", &choix);

return 0; // int main() -> attend un entier en retour
}
0
cs_clb Messages postés 2 Date d'inscription mardi 17 octobre 2000 Statut Membre Dernière intervention 27 avril 2002
27 avril 2002 à 21:24
ben je t'envoie mon source si tu veux et tu me lafaispasser !
va pas mefaire ton prof aver le point virgule et parske je fais rien retourner à main(), c'est qu'un exemple, si tu regarde aussi simplement que ça et en plus que j'ai repris mon clavier tout pouri paske j'ai renversé mon café sur l'autre...

Alors si quelqu'un sait pourquoi mon appel de scanf() me fait chier aprés l'appel de toutes de fonctions et procédures...
0
SERGIOOO27 Messages postés 3 Date d'inscription lundi 19 mars 2007 Statut Membre Dernière intervention 20 mars 2007
21 mars 2007 à 12:01
peut - être que &choix se modifie avec l'appel de la fonction
0
Rejoignez-nous