En el libro "Referencia completa de C" se menciona que char
por defecto no está firmado.
Pero estoy tratando de verificar esto con GCC y Visual Studio. Lo está tomando como firmado por defecto.
¿Cuál es el correcto?
char
puede ser sin signo, como regla general, use un int
para leer un valor usando getchar()
, lo que podría devolver EOF
. EOF
generalmente se define como -1
u otro valor negativo, que almacenar en un unsigned
no es lo que desea. Aquí está la declaración: extern int getchar();
Por cierto, esta recomendación también proviene del libro "C: A Reference Manual".
char
caso firmado , tendría que usar int
para almacenar el valor de retorno.