Was ist Rekursion wirklich und was ist die Ausgabe dieses Programms? [geschlossen]

Ich kann diesen Code wirklich nicht verstehen. Wenn eine Funktion sich selbst aufruft, was passiert dann wirklich? Ich weiß, dass es mit dem Konzept des Stapels zusammenhängt, aber ich kann diese Fragen immer noch nicht lösen.

#include<stdio.h>

fun(int);

main()
{
  int x=3;
  fun(x);
}

fun(int a) 
{
  if(a<0)
   {
     fun(--a);    // what happens when function calls itself
     printf("%d",a);
     fun(--a);
   }
} 

Bitte erläutern Sie die Reihenfolge der Ereignisse, die dabei auftreten.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage