Grazie per la risposta, ho modificato così:
Aggiungendo le stampe sembra che si pianti quando entra nel ramo if perchè non stampa mai "foglia" e va in loop...codice:void leafSum(BinTree t) { leafSumAus(t, t->elem); } void leafSumAus(BinTree t, int tot) { if(isLeaf(t)) { // se è una foglia printf("foglia\n"); printf("tot: %s\n", tot); t->elem = tot; } else { printf("non foglia\n"); if(t->left != NULL) leafSumAus(t->left, tot + t->elem); if(t->right != NULL) leafSumAus(t->right, tot + t->elem); } }

Rispondi quotando