关于递归

    转至:https://blog.csdn.net/qq_32998153/article/details/53191818

int fun(int n)
{
    if(n == 0)
        return 1;
    else
        return n*fun(n-1);        

里递归调用的过程为:

递归调用 其实就是函数的调用而已,只不过这些函数名字一样罢了,记住一点:谁调用,返回谁。上面的递归调用中,刚开始一直“往下走”,知道走到了n==0,返回1,这是fun(0)函数的值,但调用fun(0)函数的是fun(1)函数,所以fun(0)函数的值1就返回给了fun(1)函数(谁调用,返回谁),同理一直返回到fun(5)函数,由于fun(5)函数在主函数中调用(并未写出),所以返回给主函数一个值,这个值就是5!,这里只要把我上面画的图看懂了,就差不多理解了,在我自己看来,递归的总结就一句话:谁调用,返回谁。

posted @ 2018-08-09 16:14  wonderfulviews  阅读(98)  评论(0编辑  收藏  举报