Archiv verlassen und diese Seite im Standarddesign anzeigen : 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 }
sommerfee
06-01-2011, 13:52
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:
int a = *n - 1;
int b = *n - 2;
return fib (&a) + fib (&b);
Liebe Grüße,
Axel
Hi!
Danke für die Lösung.
Die Funktion mithilfe von Call by reference wollte ich nur zur Übung machen.
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.