codice:
void stampa_abr(tree *root,funzioni *funz,int scelta){
     printf("\n\n");
     if(scelta==1)
          print_abr_pre(root,funz);

          ***Stampando qui il valore di root mi da un indirizzo anomalo ***
    
     else if(scelta==2)
	          print_abr_post(root,funz);
		   else
		         printf(" La scelta effettuata non è prevista ");	       
     printf("\n\n");
}


void print_abr_pre(tree *root,funzioni *funz){
     stack *st=NULL;
     tree *curr=root;
     while((st) || (curr)){
     	if(curr){
     		funz->output(curr->inf);
     		st=push(st,curr);
     		curr=curr->sx;
     	}
     	else{
     		curr=top(st);
     		st=pop(st);
     		curr=curr->dx;
     	}
     }
}
Se stampo il valore di root nella funzione stampa_abr dopo che ha eseguito print_abr_pre il valore in output risulta essere un indirizzo anomalo e non più il numero che compariva nella radice dell'albero creato.