السلام عليكم
ارجو توضيح الكود التالي
int print(int x,int i)
{
if(i<3)
x=x*print(x,i+1);
return x;
}
int main()
{
cout<<print(2,1)<<endl;
return 0;
}كود يعمل بالاستدعاء الذاتي recursion
مع العلم اني عارف استخدم recursion
ولكن الكود التالي قيمة X تخربطني كثير لا اعرف متى تتغير ومتى لاتتغير
حيث انة كود بسيط ولكن اريد الفكرة منة لاني فاهم ماذا يعمل ولكن عندما اتتبع الكود اواجة مشاكل وهي قمية X
ارجو التوضيح



