问答详情
源自:5-7 递归函数(一)

例题中 result 的作用是什么?以及为什么要写 return result 而不是 返回factorial?

int factorial(int n)

{

int result;

.

.

.

return result;}

提问者:qq_农f山前有d田_03145774 2016-07-25 09:31

个回答

  • 马蹄疾_
    2016-09-20 22:55:27

    #include <stdio.h>
    int fac(int n)
    {
    	if(n<0)
    	{
    		printf("erorr.");
    	}
    	else if(n==0||n==1)
    	{
    		return 1;	
    	}
    	else 
    	{
    		return fac(n-1)*n;
    	}
    }
    int main()
    {
    	int n=5;
    	printf("%d的阶乘为%d",n,fac(n));
    	return 0;
    }

    这段代码也能运行 result只是利用一个局部变量保存定义函数的值

  • 听羽
    2016-08-24 21:40:56

    result最终的值是factorial(n-1)*n执行完成后的值

  • 用户5343034835
    2016-07-25 16:32:24

    这里return的功能为返回函数的值

  • hnthzt
    2016-07-25 14:07:10

    返回的是变量的值而不是一个函数,factorial是定义的函数名字