我很难理解递归方法调用。
这是我试图弄清楚的下面的代码示例?请解释它是如何工作的。
'num'(参数)值如何递减和递增?
class green
{
public int fact(int num)
{
int a;
int b;
int c;
if (num == 1)
{
return 1;
}
else
{
a = num;
Console.Write(a);
Console.Write(" #a ");
b=fact(num - 1); // How many time's this line will be executed?
Console.Write(b);
Console.Write(" #b " );
c=a*b;
//b的最终值怎么是6,a是4?
Console.Write(c);
Console.Write(" #c ");
Console.ReadKey();
}
return c;
}
public void display()
{
Console.WriteLine("fact : {0}", fact(4));
}
}
class _Program
{
static void Main(string[] args)
{
green g=new green();
g.display();
Console.ReadKey();
}
}
}