Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    problema con EOF

    ho un problema relativamente stupido (sono alle prime armi )

    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

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    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 ...

  3. #3
    grazie oregon

    FUNZIONA!!!

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

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.