Langage c

Fermé
eln - 9 nov. 2010 à 14:49
Arya Dröttningu Messages postés 581 Date d'inscription mardi 12 janvier 2010 Statut Membre Dernière intervention 3 janvier 2019 - 9 nov. 2010 à 20:50
Bonjour,
comment s'assurer que la valeur saisie est du type déclarée:
Par exemple,
int n;
main()
printf("donner un entier");
scanf("%d",i);
// svp,traduisez pour moi ce test: si (n est différent d'un entier) alors//
printf("valeur incorrecte");


A voir également:

2 réponses

loupius Messages postés 697 Date d'inscription dimanche 1 novembre 2009 Statut Membre Dernière intervention 31 décembre 2017 148
9 nov. 2010 à 15:07
Mais 'scanf' possède une valeur de retour !
La lecture du 'man'uel est toujours une source d'information ;-)
Bonne lecture.
0
Arya Dröttningu Messages postés 581 Date d'inscription mardi 12 janvier 2010 Statut Membre Dernière intervention 3 janvier 2019 157
9 nov. 2010 à 19:09
je crois que si scanf te retourne 0 c'est qu'il y a eu un problème
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
Modifié par fiddy le 9/11/2010 à 20:53
Pas vraiment.
scanf renvoie le nombre d'assignations qui ont été correctement réalisés.
Dans son cas, ce sera donc 0. Mais ce n'est pas systématique. On peut avoir 0 conversion sans erreur (cas de %*c par exemple).
Cdlt,
0
Arya Dröttningu Messages postés 581 Date d'inscription mardi 12 janvier 2010 Statut Membre Dernière intervention 3 janvier 2019 157
9 nov. 2010 à 20:50
merci fiddy pour la précision :)
0