Ricorsione con puntatori

di il
2 risposte

Ricorsione con puntatori

Buonasera a tutti,

Spero che voi possiate aiutarmi: ho appena ripreso a programmare e stavo tentando di far funzionare una funzione ricorsiva che calcoli la successione di Fibonacci, sono riuscito a fare senza problemi una funzione ricorsiva normale, il problema sorge se provo a farla con dei puntatori.

Di seguito il codice:

int fibonacci(int *nFibonacci);

int main() {
    int n;

    printf("Inserisci un numero");
    scanf("%d", &n);

    printf("\n");
    printf("%d", fibonacci(&n));
    
    return 0;
}

int fibonacci(int *nFibonacci) {

    if (*nFibonacci == 0) {
        return 0;
    }
    else if (*nFibonacci == 1) {
        return 1;
    }
    else {
        return fibonacci(nFibonacci - 1) + fibonacci(nFibonacci - 2);
    }
}
Grazie dell'eventuale aiuto!

2 Risposte

  • Re: Ricorsione con puntatori

    Perchè utilizzare i puntatori dove non servono?
  • Re: Ricorsione con puntatori

    
    return fibonacci(nFibonacci - 1) + fibonacci(nFibonacci - 2);
    
    Stai sottraendo un intero a un puntatore. Fai come ha detto Nippolo, senza puntatori.
Devi accedere o registrarti per scrivere nel forum
2 risposte