Mestolo89 ha scritto:
Ok , ho capito che il getchar deve restituire un intero ma non mi è chiaro la seconda parte " poiché deve contenere tutti i valori di un char + EOF" me la potresti chiarire gentilmente?
Comunque non preoccuparti nella guida lo sottolinea più volte che si deve restituire un int al main , penso per distrazione non l'abbiano messo li in particolare
Il valore ritornato dal main è tra l'inutile e l'inutile.
Invece per quanto riguarda la domanda ponitela nel termine giusto.
Un char (qui si aprirebbe uno spiegone gigantesco, che chiudo subito, perchè oggi non è più così) è lungo in C vecchio stile 8 bit.
Può dunque contenere 256 diversi simboli (anche qui ci sarebbe lo spiegone tra caratteri e simboli, ma lasciamolo stare).
Convenzionalmente, per stabilire quando è terminato il flusso da leggere, viene usato un apposito "segnaposto" EOF.
Ma questo, EOF, non potrebbe essere un numero tra 0 e 255 (cuttone sullo spiegone perchè in realtà non sarebbe neppure così, ma vabbè), quindi serve "qualcosa" che possa mantenere 256 simboli più uno, cioè 257.
E per 257 simboli servono 16 bit, dunque un intero.
Tralascio brutalmente gli spiegoni su cosa sono gli int e così via, per tornare al punto.
Un qualsiasi programmatore, anche di fascia minima, anche di infimo livello, DEVE conoscere il C a un livello diciamo dignitoso.
Esattamente come deve conoscere l'inglese.
Un programmatore che non sa niente di C è come un programmatore che non conosce nulla di inglese.