Bonjour , j'aimerai que vous m'aidiez à la compréhension du "comportement" d'une Fonction récursive .
Pour commencer je tiens à dire que ce code sert juste d'exemple au problème , pour éviter tous messages inutile du styles "Que la récursivité n'est pas nécessaire pour ce code " tout ça tout ça ,et de bien vouloir exécuter le programme pas-à-pas avant de répondreCode:Module Module1 Dim V As Boolean = False Sub Main() gg(0) Console.Read() End Sub Private Sub gg(ByVal tu As Int16) While Not V If tu = 10 Then V = True Else tu += 1 Console.WriteLine(tu) gg(tu) Console.WriteLine(tu) End If End While End Sub End Module
Ce que je ne comprends pas , c'est pourquoi la Fonction "gg" fait une sorte de marche arrière tout en mettant les anciennes valeurs du (ou des paramètres) paramètre "tu" jusqu’à à arriver à la valeur initial pour ensuite se terminer. Parce-que d’après ce que j'ai appris normalement la fonction devrait ce terminer, hors là , la fonction ne se termine pas tout de suite pour pouvoir décrémenter le paramètre "tu" et se terminer.
merci
-----