Dans le livre "Référence complète de C", il est mentionné qu'il charest par défaut non signé.
Mais j'essaie de vérifier cela avec GCC ainsi que Visual Studio. Il le prend comme signé par défaut.
Laquelle est correcte?
charpeut être non signé, en règle générale, utilisez un intpour lire une valeur en utilisant getchar(), qui pourrait retourner EOF. EOFest généralement défini comme -1ou une autre valeur négative, dont le stockage dans un unsignedn'est pas ce que vous voulez. Voici la déclaration: extern int getchar();BTW, cette recommandation vient également du livre "C: A Reference Manual".
charcas signé , il faudrait l'utiliser intpour stocker la valeur de retour.