Bonjour,
J'ai besoin de tester le fait qu'un paramètre soit un nombre ou non. Pour ce faire, je pensais utiliser isdigit(), et ai donc écrit le programme de test suivant :
Mon problème survient lorsque j'exécute ce code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 #include <stdio.h> #include <stdlib.h> #include <ctype.h> int main (void) { int i; char c; i=2; printf ("isdigit (%d) = %d\n", i, isdigit(i)); i=10; printf ("isdigit (%d) = %d\n", i, isdigit (i)); c='2'; printf ("isdigit (%c) = %d\n", c, isdigit((int)c) ); return EXIT_SUCCESS; }
Est-ce que quelqu'un pourrait
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 heimdall> gcc -o test_isdigit -Wall -ansi -pedantic -O2 test_isdigit.c heimdall> ./test_isdigit isdigit (2) = 0 isdigit (10) = 0 isdigit (2) = 4
- Soit m'expliquer le résultat
- Soit me dire ce que je fais de mal ?
Merci
Partager