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++;
}
}