Ciao a tutti...volevo un aiuto con questa funzione.
Allora la funzione in questione lavora su un albero di stringhe e, data una stringa in input, restituisce il nodo a cui la stringa é presente.
il mio problema si presenta quando la stringa data in input non é presente nell'albero....non so come impostare il return di quel caso per far si che non mi dia errore di segmentazione.
Vi posto il codice della funzione in questione qui sotto:
typedef struct _node{
char *key;
struct _node *left;
struct _node *right;
} node;
node* find(node *tree, char *input){
if(tree==NULL) return; //CASO IN CUI CHIEDO AIUTO
if(strcmp(tree->key, input)==0){
printf("Hai trovato la stringa\n");
return tree;
}
else{
if(strcmp(tree->key, input)>0){
printf("Vado a sx\n");
return find(tree->left, input);
}
else{
printf("Vado a dx\n");
return find(tree->right, input);
}
}
}
Grazie a tutti in anticipo per l' aiuto!!!