Originariamente inviato da mame83

codice:
typedef struct nodo
   {
     int info;
     struct nodo  *sinistro;
     struct nodo  *destro;
   }nod;

int vuoto(nod **rad)
{
 if((*rad))/*rad == NULL*/
   return 0;/*albero vuoto*/
 else 
   return 1;/*albero non vuoto*/
}
il programma appena lo lancio va subito in loop.

Mmm premetto che non ho mai lavorato con questo tipo di dati... però un paio di cose posso azzardarle..

Per comodità non ti converrebbe fare un nuovo typedef ? Qualcosa tipo:

codice:
typedef nod* node
Forse aiuterebbe a fare un po' di chiarezza

Poi non so, non mi convince molto la funzione vuoto.. La prima condizione (per verificare se sia vuoto) non converrebbe esplicitarla:

codice:
if ((*rad) == NULL)
??

Se ti va in loop ci deve essere qualche ciclo che non termina, con il debugger non arrivi a nessuna conclusione?