Dans le livre "Référence complète de C", il est mentionné qu'il char
est 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?
char
peut être non signé, en règle générale, utilisez un int
pour lire une valeur en utilisant getchar()
, qui pourrait retourner EOF
. EOF
est généralement défini comme -1
ou une autre valeur négative, dont le stockage dans un unsigned
n'est pas ce que vous voulez. Voici la déclaration: extern int getchar();
BTW, cette recommandation vient également du livre "C: A Reference Manual".
char
cas signé , il faudrait l'utiliser int
pour stocker la valeur de retour.