#include <stdio.h>
int f(int n)
{
if(n <= 1)
return 1;
if(n%2 == 0)
return f(n/2);
return f((n-1)/2) + f((n-1)/2+1);
}
/*To test above function */
int main()
{
int a = 11;
printf("%d", f(11));
getchar();
return 0;
}
Antwort
Warum nicht nur, um es im Debugger zu verfolgen, und sehen, was goind falsch ist?
Ich habe versucht, es zu debuggen, es zeigt Segmentierung Fehler. – Ankur
Dies sollte wahrscheinlich nur ein Kommentar gegen die Frage sein - es ist nicht wirklich eine Antwort in irgendeinem sinnvollen Sinne des Wortes. –
Nun, ich denke, es ist die richtige Antwort. Zu jeder Frage "mein Code stürzt ab" lautet die korrekte Antwort "Verwenden Sie den Debugger, um den Absturz zu analysieren". Meistens ist das Problem im Debugger offensichtlich. – Suma
Es ist nichts falsch mit diesem Programm, es gibt mir keine Art von Endlosschleife oder seg Fehler (und da Sie die < = 1 Bedingung haben, stürzt das Programm nicht sicher). Irgendwas sagt mir, dass Ihre Maschine hier aus irgendeinem Grund fehlerhaft ist ... vielleicht fehlt Ihnen der Speicher oder die Programme, die Sie zurückschicken? Oder sogar Compiler ausflippen? (das ist mir schon passiert). Versuchen Sie, den Code auf andere Maschine zu starten, wenn möglich und finden Sie heraus, ob es immer noch seg Fehler oder nicht
Es funktioniert jetzt, danke euch allen – Ankur
Dieser Code kompiliert und läuft gut für mich. Das Ergebnis ist 5. Haben Sie das Schlüsselwort explicit
ausprobiert, um festzustellen, ob es sich um einen Optimierungsfehler handelt? BEARBEITEN: Wenn das Problem getchar()
ist, könnte das Problem Ihr Betriebssystem zur Laufzeit oder Ihre Bibliothek zur Kompilierzeit sein. Ist das eine saubere Kompilierung? Welchen Compiler benutzen Sie?
- 1. Firebug zeigt unendliche Rekursion für Konstruktor
- 2. C++ Rekursion Graph Färbung Segmentierung Fehler
- 3. Haskell unendliche Rekursion
- 4. Unendliche Rekursion C++
- 5. Makefile: verhindern unendliche Muster Rekursion
- 6. Scala Slick - Unendliche Rekursion (StackOverflowError) auf Abfrageergebnisse
- 7. Segmentierung Fehler für Schleife
- 8. Fehler im Validator. Kannst du mir helfen?
- 9. Warum eine unendliche Rekursion zum Seg-Fehler führt
- 10. Ich bekomme Segmentierung Fehler auf Link-Liste
- 11. Unendliche Rekursion in createDataFrame für avro-Typen
- 12. Unendliche Rekursion, StackOverError im Huffman-Baum
- 13. Debugging Segmentierung Fehler in einem Multi-Thread (mit Klon) -Programm
- 14. "Resource Monitor" zeigt mir mehr Threads als die zwei, die ich in meinem Programm schrieb
- 15. Semaphor Simulationsprogramm: Segmentierung Fehler Fehler
- 16. Clojure Prewalk unendliche Rekursion für datomic Abfragen
- 17. Wie vermeidet PHP hier unendliche Rekursion?
- 18. define_method mit Super verursacht unendliche Rekursion
- 19. Warum gibt mir dieses VBScript einen Fehler?
- 20. Wie vermeidet man unendliche Rekursion mit super()?
- 21. Pylint unendliche Rekursion in Astriod Paket
- 22. Segmentierung Fehler: 11, wenn ich Pygame
- 23. Wie richtig verwenden __setattr__, die Vermeidung unendliche Rekursion
- 24. Git Segmentierung Fehler: 11
- 25. Kann mir jemand erklären, wie dieses funktionale Programm funktioniert?
- 26. Kann mir jemand helfen, dieses Programm in VBScript zu schließen?
- 27. sigsev Fehler auf malloc, die mir Nuss
- 28. Nicht lesen/proc/[pid]/stat in Unix zeigt Segmentierung Fehler
- 29. Weniger zeigt mir nicht seine Fehler
- 30. Schienen Segmentierung Fehler Byebug
Das Programm druckt 5 für mich ohne Segmentierung Fehler. Diese Funktion geht nicht in unendliche Rekursion, jedenfalls nicht für n = 11. – IVlad
Anfangs gibt es eine Antwort und dann tritt der Fehler nach einer Sekunde oder so auf. – Ankur
Würde es Ihnen etwas ausmachen, uns mehr Informationen über Ihre Hardware, Betriebssysteme und Entwicklungstools (Compiler, C-Bibliotheksversion usw.) zu geben? – thkala