Salve a tutti,dovrei sviluppare una function in c che dati come parametri di input una stringa che rappresenta un testo in italiano,determina e restituisce come parametri di output la parola di lunghezza massima contenuta nel testo e appunto la sua lunghezza.
IL codice che ho sviluppato è questo,il problema è che la printf nel main non mi visualizza la parola ma solo la sua lunghezza..Qualcuno saprebbe aiutarmi?
codice:#include<stdio.h>#include<string.h> void LongerWord(char [],int *,char *); int main(){ int lunghezza; char testo[100],parola[20]; printf("Inserire testo: "); gets(testo); printf("Hai inserito: "); puts(testo); LongerWord(testo,&lunghezza,parola); printf("La parola piu lunga e' %s,lunga %d caratteri",parola,lunghezza); return 0; } void LongerWord(char testo[],int *max,char *longer) { int i,cnt=0,n; n=strlen(testo); for(i=0;i<n;i++){ if(testo[i]==" " || testo[i]=='\n') { if(*max<cnt) { *max=cnt; strncpy(longer,&testo[i-cnt],cnt+1); } cnt=0; } else cnt++; } }

Rispondi quotando