|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Nov 2012
Messaggi: 1
|
[C] Problema con getchar
salve ho un piccolo problema con questo pezzo di codice:
qualcuno sa spiegarmi perchè questo while mi cicla all'infinito? se non è così...perchè non stampa? ![]() ![]() #include <stdio.h> int main(int argc, const char * argv[]) { int nl = 0; int ns = 0; int nt = 0; int c = 0; while ((c = getchar()) != EOF){ if (c == ' ') { ns++; } if (c == '\t') { nt++; } if (c == '\n') { nl++; } } printf("%d %d %d", ns, nt, nl); return 0; } |
![]() |
![]() |
![]() |
#2 |
Member
Iscritto dal: Nov 2010
Messaggi: 211
|
A me sembra tutto a posto. Per inserire EOF in Windows fai Ctrl+Z.
Se invece vuoi inserire testo normalmente da tastiera non è quello il modo migliore. Io userei fgets(). |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Oct 2010
Messaggi: 1609
|
Dando un'occhiata molto veloce, con le parentesi che hai messo, confronti il risultato dell'assegnamento di un valore a c con EOF e i due sono sempre diversi.
Forse è meglio usare un ciclo do while del tipo do leggi carattere fai qualcosa while (carattere != carattere che indica l'uscita)
__________________
Trattative nel mercatino: IronHead - fybpeppe - xcavax Utenti assolutamente DA EVITARE: devilred "Chi c**a sott' 'a neve, pure si ffa 'a bbuca e poi 'a copre, quanno 'a neve se scioje, 'a mm***a vie' sempre fori" T. Milian |
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Oct 2010
Messaggi: 1609
|
Quote:
![]()
__________________
Trattative nel mercatino: IronHead - fybpeppe - xcavax Utenti assolutamente DA EVITARE: devilred "Chi c**a sott' 'a neve, pure si ffa 'a bbuca e poi 'a copre, quanno 'a neve se scioje, 'a mm***a vie' sempre fori" T. Milian |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:57.