帮忙分析一下这个递归,谢谢
fun(int x){int k,m;
switch(x)
{case 0://这个是不是说,若x为0的时候,递归结束?
case 1:return(2);
}
m=x-fun(x-2);//m=5-fun(3)=5-3-fun(1)=5-3-2??总感觉不对?我哪里理解错了??
return m;
}
main()
{
printf(”result=%d\n",fun(5));
}
程序代码:#include <stdio.h>
#include <iostream.h>
int fun(int x)
{
int k,m;
if (1==x)
{
return 2;
}
m=x-fun(x-2);////m=5-fun(3)=5-3-fun(1)=5-3-2??总感觉不对?我哪里理解错了??
return m;
}
int main()
{
printf("result=%d\n",fun(5));
return 0;
}
等于一的时候 返回2 如上