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:

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;
}
Quand je rentre les données : fgh
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.