递归的理解!_!

递归是算法必学的一个套路

(作为一个大一狗就用C语言来发表一下自己的理解吧【手动滑稽】)

int F(int n)
{
    if(i = 0){
        return 1;
    }
    return n * F(n - 1);
}

//n * F(n- 1)  的理解:如果不满足if里的条件就执行  n * F(n- 1) 即(假设n = 5)5 * F(4)

//4 不满足if里的条件所以就是5 * (4 * F(3))  其中4 * F(3)就是F(4)

//类似的 3 依然不满足if中的条件所以 5 * (4 * (3 * F(2)))

//2 依然不满足if的条件 5 * (4 * (3 * (2 * F(1))))

// 1 依然不满足if的条件 5 * (4 * (3 * (2 * (1 * F(0)))))

//0 满足if中的条件所以返回一个 1 

//  结果为  5 * (4 * (3 * (2 * (1 * 1))))

猜你喜欢

转载自blog.csdn.net/qq_39034533/article/details/84782770