public int factorial(int num)
{
/* 局部变量定义 */
int result;
if (num == 1)
{
return 1;
}
else
{
result = factorial(num - 1) * num;
return result;
}
}
static void Main(string[] args)
{
NumberManipulator n = new NumberManipulator();
//调用 factorial 方法
Console.WriteLine("6 的阶乘是: {0}", n.factorial(6));
Console.WriteLine("7 的阶乘是: {0}", n.factorial(7));
Console.WriteLine("8 的阶乘是: {0}", n.factorial(8));
Console.ReadLine();
}
这个为什么会是算阶乘的呢,如果num不为1不是应该直接输出(num-1)*num,为什么会循环起来呢?
当num不等于1的时候它会调用factorial(num-1)然后*num;直到num==1的时候,不满足调用factorial函数的条件才不调用,这叫做递归