Hello,
Mit einer statischen Variable, die du vor dem rekursiven Aufruf hoch- und gleich danach wieder runterzählst.
1. Rekursion ist keine Schleife. Entweder Rekursion, oder Schleife...
2. Ich hätte für die Tiefenmessung ein Funktionsargument verwendet, das innerhalb der Funktion
als erstes incrementiert wird. Erst dann wird bei Bedarf die nächste Schachtelung aufgerufen
und das Argument übergeben.
Decrementieren muss bzw. darf man gar nicht. Der Wert vor dem Aufruf wird ja auf dem Stack
abgelegt und steht daher beim Rücksprung wieder zur Verfügung.
3. einen Zeiger auf eine externe statische Variable muss man nur dann übergeben, wenn andere
nebenläufige Prozesse ebenfalls wissen sollen, in welcher Tiefe sich die Rekursion
gerade befindet. Dann muss aber die Rekurionsfunktion auch threadsicher geschrieben
werden!
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg