Also, vor allem bin ich ein absoluter Anfänger in C, wir studieren es an der Universität im Kurs 'Strukturierte Programmierung'.Rekursive Funktionen in C und printf
Jetzt waren die letzten Vorträge über 'Rekursive Funktionen' für mich als Anfänger ein Schmerz. Könnte jemand von euch so freundlich, mir zu erklären, dies:
Also habe ich dieses kleine Skript, eine rekursive Funktion, die eine Dezimalzahl nimmt und wandelt sie in eine binäre Eins:
#include <stdio.h>
void binary(int num)
{
if (num == 0) return;
binary(num/2);
printf("%d", num % 2);
}
int main()
{
int n;
scanf("%d", &n);
binary(n);
return 0;
}
Jetzt habe ich mich gefragt , wie funktioniert diese Funktion? Ich kenne die Logik dahinter und was es tun soll, aber ich weiß nicht, wie es IT macht. Der printf im unteren Bereich wirft mich besonders aus, zum Beispiel, wenn die printf-Funktion vor dem rekursiven Aufruf ist, für die Eingabe-Dezimalstelle 10 (0101), aber wenn darunter die richtige Binärzahl (1010) ausgedruckt wird?
Jede Art von Hilfe wird sehr geschätzt, mit freundlichen Grüßen.
"Ausführen" Sie Ihr Programm naiv "von Hand" mit einem Bleistift und einem Stück Papier, und Sie werden es verstehen. –