Nel libro "Riferimento completo di C" è menzionato che charper impostazione predefinita è senza segno.
Ma sto provando a verificarlo con GCC e Visual Studio. Lo sta prendendo come firmato di default.
Quale è corretto?
charpuò essere senza segno, come regola empirica usare un intper leggere un valore usando getchar(), che potrebbe restituire EOF. EOFviene generalmente definito come -1o altro valore negativo, che la memorizzazione in un unsignednon è ciò che si desidera. Ecco la dichiarazione: A extern int getchar();proposito, questa raccomandazione proviene anche dal libro "C: A Reference Manual".
charcaso firmato , dovresti usare intper memorizzare il valore di ritorno.