Problema con un semplice esercizio conteggio caratteri

di il
2 risposte

Problema con un semplice esercizio conteggio caratteri

Ciao, da pochi giorni ho iniziato a leggere il libro "il linguaggio C" dove ora mi propone un esercizio in cui devo far contare gli spazi, il problema è che me ne conta uno no e uno sì, se ad esempio in una frase ci sono 24 spazi me ne conta 12, dove sbaglio? ecco lo script:

#include <stdio.h>
main()
{
int c,s;
c=0;
s=0;
for (c=0;(getchar())!=EOF;c++)
if(getchar()==' ')
s++;
;
printf("%d", s);
}

2 Risposte

  • Re: Problema con un semplice esercizio conteggio caratteri

    Il problema è che esegui 2 volte la funzione "getChar()", per cui ti "perdi" il primo carattere che leggi.

    Quello che dovresti fare è eseguire tale funzione una volta sola per ogni iterazione, salvandoti all'interno di una variabile il carattere appena letto.

    Qualcosa del tipo:
    
    char carattere;
    
    for (c=0; (carattere=getChar())!=EOF; c++){
        if (carattere == ' ') {
            ...
        }
    }
    
  • Re: Problema con un semplice esercizio conteggio caratteri

    Funziona!! grazie
Devi accedere o registrarti per scrivere nel forum
2 risposte