Originariamente inviato da YuYevon
La condizione dell'if() che hai scritto, oltre al fatto di essere inutilmente lunga, non ha praticamente alcun senso... riflettici sopra.
Tra l'altro, a meno che tu non abbia necessità di scrivere la funzione ex novo per motivi "didattici", puoi ricorrere alla funzione di libreria isdigit() nell'header ctype.h
Intanto mi documenterò su questa funzione che mi hai segnalato, ad ogni modo, si, dovrei scrivere una funzione/procedura ex novo. Ma non capisco proprio cosa c'è di sbagliato. Ho pensato che magari il confronto andava fatto con strcmp() ma quello funziona con le stringhe, non con i caratteri singoli, o sbaglio?

Edit:
ho provato anche con isdigit e isalpha e ho lo stesso risultato:

codice:
    c=fgetc(output);
    while(c!=EOF){
        if(isdigit(c)!=0 || isalpha(c)!=0){       
        i++; 
        }
        c=fgetc(output);      
    }