Anzeige:
Ergebnis 1 bis 3 von 3

Thema: Fibionacci Zahlen Rekursiv Call by reference in C

  1. #1
    DELAC
    Gast

    Fibionacci Zahlen Rekursiv Call by reference in C

    Hi!
    Wollte hier die Fibionacci Zahlen call by reference rekursiv implementieren.
    Wo ist denn der Fehler in Zeile 5?

    0 int fib (int *n)
    1 {
    2 if( *n <=1)
    3 return *n;
    4 else
    5 return fib (*(n)-1) + fib (*(n)-2);
    6 }

  2. #2
    Registrierter Benutzer Avatar von sommerfee
    Registriert seit
    02.07.2006
    Beiträge
    1.603
    Zitat Zitat von DELAC Beitrag anzeigen
    Wollte hier die Fibionacci Zahlen call by reference rekursiv implementieren.
    Wozu call by reference?

    Wo ist denn der Fehler in Zeile 5?
    "Call by reference" heißt in C, daß man die Adresse einer Variablen übergibt, mit Hilfe des Adressoperators &.

    Du müsstest also sowohl *n-1 als auch *n-2 erstmal in Hilfsvariablen speichern, deren Adresse du dann mittels & übergeben kannst, also etwa:

    Code:
    int a = *n - 1;
    int b = *n - 2;
    return fib (&a) + fib (&b);
    Liebe Grüße,
    Axel

  3. #3
    DELAC
    Gast
    Hi!
    Danke für die Lösung.
    Die Funktion mithilfe von Call by reference wollte ich nur zur Übung machen.

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •