ciao a tutti...ho un piccolo problema che però mi sta tenendo sveglio...in pratica ho scritto un programmino che prende in input una frase e in output da i numeri delle lettere contenute in ciascuna parola. in fin dei conti ho finito, ma c'è una cosa che mi infastidisce

codice:
#include <stdio.h>
main()
{
     char l;
     int abc=0;

     printf("Inserite la parola o la frase:");
     
     while(l!='\n'){
     scanf("%c",&l);
     
                   
                    if((65<=l<=90) && (97<=l<=122) && (l!=32))
                    abc++;    
                                       
                    if(l==32){
                    printf("%d\n",abc);      
                    abc=0;
                    }
      }
                       
      return 0; 
}
quando mi deve stampare i risultati se non metto uno spazio alla fine della frase non mi calcola l ultima parola...so che fa così perchè con "if(l==32)" stampo e azzero con lo spazio,ma se sapete dirmi un modo per far si che con il semplice invio,senza lo spazio finale,riesco a far calcolare anche l ultima parola ve ne sarei grato. spero di essere stato chiaro...grazie in anticipo per la risposta.