Bonjour

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
public long Factorial(int n)
{
    if (n == 0)
        return 1;
    return n * Factorial(n - 1);
}
Dans ce code, je comprends que le If est nécessaire pour stopper la récursion, mais je ne comprends pas le 'return 1'. Que se passe-t-il avec ce '1'? J'ai essayé en mettant un '2'; mais alors j'ai le double du résultat. J'en conclu qu'il est multiplié à l'autre return. Mais pourquoi pas additionné? Je ne vois pas le lien entre ces deux return.
Merci pour vos explications.
R