Bonjour,
nouveau sur la liste, j'ai lu les préambules, les faq etc... mais je rencontre pour la première fois un problème étrange que je n'arrive pas à comprendre c'est sûrement évident mais je calle ;-) J'écris le programme suivant:
Quand je rentre les données : fgh
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 <ctype.h> int main() { int c; c = getchar(); while (c != EOF) { /* printf("TEST\n"); */ if (isalnum(c)) { putchar(c); c = getchar(); } } return 0; }
le programme boucle sans fin.
en fait je me suis rendu compte que isalnum(c) renvoie 8 avec les lettres et les chiffres et 0 pour le reste donc j'ai remplacé isalnum(c) par 8 (mais n'importe quel chiffre != 0 fait l'affaire) mon programme fait ce que j'attend:
réécrire fgh.
j'ai essayé avec c > 96 à la place de isalnum(c) et le programme boucle sans fin aussi.
Ben ... je dois manquer quelque chose, mais je ne comprends pas quoi ?
Ma machine: laptop acer wlmi5102 AMD Turion 64x2
Mon OS: linux Debian testing
uname -r
2.6.18-amd64
Merci d'avance pour un conseil ou un lien où je puisse être éclairé.
rutabagas.
Partager