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

为什么我的返还值不是我定的值,返还的都是0?

为什么我的返还值不是我定的值,返还的都是0?

C C++
慕仰7464091 2017-12-28 19:04:58
#include <stdio.h>double f(int n,double i){ i*=n; n--; printf("%lf\n",i); if(n==0) { return i; } f(n,i);}int main(int argc, char *argv[]){ int n,m,s=0,s2=0,s3=0; char A[100]; double x; scanf("%d%d",&n,&m); printf("%.4f",f(n,1.0)); //printf("%.4f",1/f(n,1.0)+1/f(m,1.0)); return 0;}
查看完整描述

3 回答

?
qq_缘定三生石

TA贡献15条经验 获得超5个赞


因为你的递归函数运行到最后i总是0

查看完整回答
反对 回复 2017-12-28
?
慕仰7464091

TA贡献6条经验 获得超0个赞

把第11行改成return f(n);就好了

查看完整回答
反对 回复 2017-12-28
?
慕仰7464091

TA贡献6条经验 获得超0个赞

那啥,问题我可以解决,我想知道我上面那错了

查看完整回答
反对 回复 2017-12-28
  • 3 回答
  • 0 关注
  • 2037 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信