Mam program:
#include <iostream>
using namespace std;
int silnia (int n)
{
if (n>1)
return silnia(n-1)*n;
}
int main()
{
/*wywolanie funkcji na przykład w sposób:*/
int i = silnia(5);
cout << i;
return 0;
}
Rozumiem istotę silni, jednak nie rozumiem działania funkcji. Skąd wie ile razy wykonać warunek?
Tzn, gdy podam parametr np. 4... wygląda na to że powinno się wykonać (4-1)*4=12
A jednak dobrze liczy silnie, mógłby ktoś napisać czemu tak się dzieje?