Leva assolutamente quel ; dopo il for...Originariamente inviato da Alì Babà
#include <stdio.h> //in stdio.h EOF è di default -1
main()
{
double nc;
for (nc = 0; getchar() != EOF; ++nc)
;
printf("%.0f\n", nc);
getchar();
}
In un programmino del genere, in teoria doveva contare i caretteri battuti diversi da EOF, quindi il ciclo termina quando viene battuto EOF (ho usato Ctrl+C, Ctrl+Z non funzionava).
In pratica però alla pressione di Ctrl+C si chiude il file (e giustamente credo, avendo battuto EOF) quindi le righe dopo non vengono eseguite, senza che venga dato in output il numero di caretteri battuti.
Ricompila ed esegui il programma come di seguito...
codice:#include <stdio.h> main(){ double nc; for (nc = 0; getchar() != EOF; ++nc) printf("%.0f\n", nc); getchar(); }

Free as in Freedom... 
Rispondi quotando