prima non ho potuto testare il nuovo codice,ma adesso mi dà valori 1 e uguali 1 e quindi c' è ancora un problema.....
codice:
int uguali(node *l1,node *l2)

{
int vl=0;
int ug=0;

   while(l1!=NULL) l1=l1->next; {
        while (l2!=NULL) l2=l2->next; {
        if (l1->data==l2->data) ;{
        vl=vl+1;ug=ug+1;
        }
        }

    }




     printf("\nvalori %d e uguali %d",vl,ug);
        if(vl==ug) return 1;
        else return 0;

    }