Io avrei fatto così...codice:TNode* esame_prof(TList list, char prof[]){ TNode* max; if(list==NULL){ return NULL; } while((list != NULL) && (strcmp(list->info.satellite.docente, prof) != 0)) list = list->link; max = list; while(list!=NULL){ if((strcmp(list->info.satellite.docente, prof) == 0) && (list->info.satellite.voto > max->info.satellite.voto)) max=list; list=list->link; } return max; }