为了账号安全,请及时绑定邮箱和手机立即绑定

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

int factorial(int n)

{

int result;

.

.

.

return result;}

正在回答

4 回答

#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只是利用一个局部变量保存定义函数的值

0 回复 有任何疑惑可以回复我~
#1

马蹄疾_

在特殊情况下 需要这样一个局部变量 但这里不需要
2016-09-20 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~
#1

qq_农f山前有d田_03145774 提问者

那 result = factorial(n-1)*n 岂不是要重复执行几次factorial,并且要将每次的结果都 return result? 那么多次将数值返还给result,我们最终需要的是哪次result呢?
2016-07-25 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~
#1

qq_农f山前有d田_03145774 提问者

那 result = factorial(n-1)*n 岂不是要重复执行几次factorial,并且要将每次的结果都 return result? 那么多次将数值返还给result,我们最终需要的是哪次result呢?
2016-07-25 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信