#include long fun(int n) {if(n>1) return (n*fun(n-1)); else

问题描述:

#include long fun(int n) {if(n>1) return (n*fun(n-1)); else if(n==1) return 1;} main() {i
#include
long fun(int n)
{if(n>1)
return (n*fun(n-1));
else if(n==1)
return 1;}
main()
{int k=10;
printf("%d!=%1d\n",k,fun(k));}
麻烦大虾们讲一下里面的调用函数的调用过程(即如何一步步实现累乘的)
1个回答 分类:综合 2014-12-15

问题解答:

我来补答
首先是fun(k),k>1,结果是k*fun(k-1),然后再调用函数fun(k-1)=(k-1)*fun(k-2),知道k=1时,完成函数调用.
程序还应加上n=0时,结构也等于1.
 
 
展开全文阅读
剩余:2000