帮忙分析一下这个递归,谢谢
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 如上