Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - EOF
Forum - C/C++ - EOF

Avatar
Shock (Normal User)
Newbie


Messaggi: 9
Iscritto: 29/10/2008

Segnala al moderatore
Postato alle 15:08
Mercoledì, 29/10/2008
Salve a tutti:)sono nuovo del forum...
volevo porvi una domanda:sono giorni ke provo e riprovo a fare un esercizio dal libro di Kerninghan e Ritchie(C ansi C)ma non riesco a capirlo,eccolo:

-Verifica che il valore dell'espressione
getchar() != EOF abbia valore 0 o 1

Chi può aiutarmi?Non so più dove sbattere la testa!
Vi ringrazio in anticipo.

PM Quote
Avatar
lorelapo (Ex-Member)
Expert


Messaggi: 355
Iscritto: 28/02/2007

Segnala al moderatore
Postato alle 17:06
Mercoledì, 29/10/2008
if(getchar()!=EOF)
{
printf("Il valore è uno\n");
}
else
{
printf("Il valore è zero\n");
}

credo che il significato sia questo se vuoi vado a rileggere il K&R


☠ B☮Rn T☮ KiLl! ☮ ¡ HeLp ! ¡ hElP ! ¡ HeLp Me ! ¡ wAnT yOu PlEaSe HeLp Me ? !

Linux Registered User #470459
PM Quote
Avatar
Shock (Normal User)
Newbie


Messaggi: 9
Iscritto: 29/10/2008

Segnala al moderatore
Postato alle 19:33
Mercoledì, 29/10/2008
L'esercizio in questione viene prima di IF
si trova subito dopo il costrutto FOR.
Dunque credo ci sia un'altra soluzione...non saprei proprio:-|

PM Quote
Avatar
Overflow (Normal User)
Expert


Messaggi: 334
Iscritto: 11/01/2008

Segnala al moderatore
Postato alle 20:09
Mercoledì, 29/10/2008
getchar()!=EOF è vera(1) quando non si è arrivati alla fine di ciò che si è scritto. Quandi si arriva alla fine allora getchar!=EOF è falso (0).

PM Quote
Avatar
Shock (Normal User)
Newbie


Messaggi: 9
Iscritto: 29/10/2008

Segnala al moderatore
Postato alle 18:37
Giovedì, 30/10/2008
Il problema è questo:io sono riuscito a visualizzare il valore di EOF che è -1.Ora il programma sul libro mi restituisce i dati cosi come li inserisco.
Quindi se io scrivo CANE lui mi stampa CANE
cioò non dovrebbe accadere quando si incontra EOF (-1)
ma questo non succede infatti il programma continua a chiedermi l'input!!!8-|

Ultima modifica effettuata da Shock il 30/10/2008 alle 18:37
PM Quote
Avatar
gioser (Normal User)
Pro


Messaggi: 111
Iscritto: 03/10/2008

Segnala al moderatore
Postato alle 12:05
Venerdì, 31/10/2008
se l'inpunt è da tastiera, per forzare un EOF devi introdurre control-Z, su windows, o control-D, su linux (se non erro...)

Ciao :)

PM Quote