[C] Tester une entrée si c'est un entier [Résolu/Fermé]

Signaler
-
 Anime4ever -
Peace Upon U,

je sais pas si cette question est posée auparavant mais à ce que j'ai vu, ce n'est pas le cas, désolée sinon..

bref, je veux juste savoir comment tester si ma variable lue est bien un entier sachant que je l'ai déclaré un entier, bien sûr.. mais c'est juste un test pour un cas où l'utilisateur peut entrer un caractère à la place d'un entier.

Merci d'avance ^^

3 réponses

Messages postés
18240
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
30 novembre 2020
5 212
hello
en C ?
man isascii
isalnum, isalpha, isascii, isblank, iscntrl, isdigit, isgraph, islower, isprint, ispunct, isspace, isupper, isxdigit - character classification routines
2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Peace Upon U,
Merci pour votre réponse

isdigit fait un beau travail, mais le problème que je dois déclarer ma variable un entier pas un caractère parce que je vais l'utiliser plus tard.. ^^
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 742
Salut,
Pour tester si ta variable lue est un entier sachant que tu l'as déclaré en entier, tu peux utiliser la valeur de retour de scanf.
Par exemple :
int a;
int ret;

printf("nombre: ");
ret=scanf("%d",&a);
if(ret==1) {
   //il s'agit d'un entier
}
Peace Upon U,
Merci pour votre réponse

La soultion marche à merveille. Merci beacoup fiddy!! ^__^
Salut,
Tu parles d'une valeur passée en entrée du programme ou d'un fonction?
Peace Upon U,
Merci pour votre réponse
Je parle d'une valeur lue avec scanf..^^