PDA

Visualizza la versione completa : [C]: Contrassegnare fine di una stringa in input


aenima1891
08-06-2006, 08:59
ho un problema relativamente stupido (sono alle prime armi :D )

devo creare in C un programma che conti gli spazi bianchi, le tab e le newlines di una stringa di ingresso

il risultato

#include <stdio.h>

int main()
{
int c, blanks, tabs, newlines;

blanks = tabs = newlines = 0;

while ((c = getchar()) != EOF)
{
if (c == ' ') blanks++;
else if (c == '\t') tabs++;
else if (c == '\n') newlines++;
}
printf("Blanks: %d\n Tabs: %d\n NewLines: %d\n", blanks, tabs, newlines);

return 0;
}

il compilatore dice che tutto ok
eseguo il file exe, ma il mio problema :
come faccio a far capire che la stringa che immetto finita???? :master:
infatti l'invio me lo considera come newline

devo digitare nel prompt qualche combinazione particolare???
una cosa stupida, ma sono ignorante :messner:

oregon
08-06-2006, 09:32
La combinazione di tasti che termina il programma e' quella dell' EOF con cui controlli il ciclo.

In Unix e' Ctrl-d e in Windows Ctrl-z

Con quest'ultimo, devi pressare anche il return all'inizio di una linea ...

aenima1891
08-06-2006, 12:25
:zizi: grazie oregon :unz:

FUNZIONA!!!

(mi sono buttato sul c solo da 2 giorni e sto usando il K&R ed il Deitel "How to program C"
thanks

Loading