问答详情
源自:5-8 递归函数(二)

猴子摘桃问题

#include

int f(int n) { int num; if(n==10) { return 1; }   else   {     num=(f(n+1)+1)*2;   printf("第%d天摘得桃子数为%d\n",n,num);   }   return num; } int main() { int num=f(1); printf("第一天摘得桃子数为%d\n",f(1)); return 0; } 

http://img.mukewang.com/56df9c2c00010da106040463.jpg为什么我这个程序输出两遍啊?

提问者:厉雨飞天 2016-03-09 11:46

个回答

  • 南门羽
    2016-03-09 15:33:29

    main函数里面,f(1)你写了两遍。

    你可以printf里面,直接打印num即可。