Sono principiante in linguaggio di programmazione C, di recente ho studiato su getchar
funzione, che accettare un personaggio dalla console o da un file, visualizzare immediatamente durante la digitazione e abbiamo bisogno di premere Enter chiave per procedere.Perché la variabile utilizzata per contenere il valore restituito da getchar deve essere dichiarata come int?
Restituisce il unsigned char
da leggere. Se si incontra la fine del file o si verifica un errore, le funzioni getchar()
restituiscono EOF.
La mia domanda è che, quando restituisce unsigned char
, quindi perché il suo valore restituito è memorizzato nella variabile int
?
Per favore aiutatemi.
Un buon collegamento: [Definizione di EOF e come utilizzarlo efficacemente] (http://faq.cprogramming.com/cgi-bin/smartfaq.cgi?id=1043284351&answer=1048865140) –
Vedere anche ['while ((c = getc (file))! = EOF) 'loop non si fermerà nell'esecuzione] (https://stackoverflow.com/questions/13694394/while-c-getcfile-eof-loop-wont-stop-executing/) . –
Possibile duplicato di [Differenza tra int e char in getchar/fgetc e putchar/fputc?] (Http://stackoverflow.com/questions/35356322/difference-between-int-and-char-in-getchar-fgetc-and -putchar-fputc) –