#include <stdio.h>
void fun(int x)
{
if(x<=20)
{
printf("d\n",x);
return fun(2*x);
return fun(x/2);
}
}
main()
{
int x;
printf("Enter the number\n");
scanf("%d",x);
fun(x);
}
Antwort
Das sollte scanf("%d", &x);
und wahrscheinlich printf("%d\n", x);
sein.
Auch Sie Rückkehr etwas (zweimal!) Von einer void
Funktion. Ihr Code wird nicht so funktionieren wie er ist.
+1. GCC kompiliert es. Mit "-Wall" beklagt es sich natürlich (zu Recht). –
@Billy, ich denke, es fällt nur den Rückgabewert. Es würde Spaß machen, wenn es den Funktionsaufruf optimiert, weil sein Ergebnis nie verwendet wird. Danke für die Info :) –
in der Funktion, wenn Sie planen, den Wert von x zu drucken, sollte printf sein ("% d \ n", x); fehlt Ihnen% symbol.also die zweite return-Anweisung in Ihrer Funktion wird nie ausgeführt ..
Das stimmt zwar nicht, aber das verursacht nicht den Segfault. –
Oben auf was andere Leute gesagt, nachdem Sie alle anderen programmatischen Fehler beheben Sie Ihr Programm auf eine unendliche Rekursion.
Schreiben Sie eine Funktion Compute (int x) so, dass sie die Werte von x, 2x, 4x, 8x ... ausgibt. bis der Wert 20000 nicht überschreitet. Nach Erreichen von 20000 kommt es wieder von ... 8x, 4x, 2x, x und bleibt dort stehen. Hinweis: (1) Sie können keine lokalen Variablen in der Funktion verwenden (2) Sie können keine Schleifen (für oder while oder do..while) oder irgendeine GOTO-Anweisung verwenden. – Ankur
Dies ist die eigentliche Frage, kann jetzt jemand Code für mich? – Ankur
Ich schlage vor, dass Sie das "Hausaufgaben" -Tag zu Ihrer Frage hinzufügen, und bearbeiten Sie es bitte und stellen Sie die eigentliche Frage dort. Andernfalls werden die Leute Ihre Frage abstimmen und es wird Ihren zukünftigen Ruf auf der Website beeinflussen. –
#include <stdio.h>
void fun(int x)
{
if(x<=20000)
{
printf("%d\n",x);
fun(x<<1);
printf("%d\n",x);
}
}
main()
{
int x;
printf("Enter the number\n");
scanf("%d",&x);
printf("\n");
fun(x);
system("pause");
}
Dies ist das richtige Programm, das ich gesucht habe. Danke euch allen!
Verwenden Sie die Schaltfläche {}, um einen Codeblock beim Veröffentlichen ordnungsgemäß zu formatieren. –
- 1. Fehler kann nicht gefunden werden
- 2. Projektwebartikel kann nicht gefunden werden (FEHLER)
- 3. Eclipse Timeout Fehler vom Debugger?
- 4. Hibernate-Fehler "Persistenz kann nicht gefunden werden"
- 5. Fehler: Symbolvariable kann nicht gefunden werden abc_ic_ab_back_mtrl_am_alpha
- 6. CakePHP "Fataler Fehler: Klasse 'Debugger' nicht gefunden" in einer Datei, die nicht auf Debugger verweist
- 7. Wie werden Strings im Xcode-Debugger angezeigt?
- 8. Eine Fehlermeldung kann nicht angezeigt werden, weil eine optionale Ressourcen-Assembly nicht gefunden werden kann
- 9. Debugger kaputt (Dateiopen.c kann nicht geöffnet werden)
- 10. PHP-Fehler werden nicht angezeigt
- 11. Registrierungsformular kann nicht in Joomla gefunden werden
- 12. Kann der vom JVM-Hotspot-Compiler generierte Maschinencode angezeigt werden?
- 13. Elisp Debugger wird nicht angezeigt
- 14. Extension .js-Dateien werden nicht im Chrome-Debugger angezeigt
- 15. error.phtml wird angezeigt (Seite nicht gefunden Fehler)
- 16. ContentTypeReader kann nicht gefunden werden
- 17. Eingabedatei kann nicht gefunden werden
- 18. JSfiddle Fehler werden nicht angezeigt
- 19. Der Import org.mockito.Mock kann nicht gefunden werden
- 20. Warum kann der Importbefehl nicht gefunden werden?
- 21. R.xml.preferences kann nicht gefunden werden?
- 22. OnClickListener kann nicht gefunden werden
- 23. Variablen werden nicht automatisch im Chrome JavaScript-Debugger angezeigt
- 24. Warum kann der Fortschrittsdialog nicht angezeigt werden?
- 25. JNI-Debugger kann nicht aktiviert werden
- 26. Kompilierfehler "Kann nicht gefunden werden"
- 27. Variable kann nicht gefunden werden
- 28. Geany Debugger-Plugin kann nicht installiert werden
- 29. kann nicht gefunden werden DBI.pm
- 30. Visual Studio C# -Debugger - der Breakpoint wird derzeit nicht gefunden
Implizite 'int'? Zwei Rückgaben in einer Methode? –