求解一个函数的运算过程
fun(int x){
int p;
if(x==0||x==1)return(3);
p=x-fun(x-2);
return p;
}
main()
{
printf("%d\n",fun(7));
}
我想知道一下为什么运算结果是2。
我算的是x=7满足条件所以执行p=x-fun(x-2);
1、x=7然后p=7-fun(5)
2、x=5然后p=5-fun(3)
3、x=3然后p=3-fun(1)
4、x=1然后就不满足条件了然后return(3)
我想知道这时候3应该怎么return,按照我现在的错误算法得不到最后2的结果,希望知道最后返回函数值3之后计算机是怎么算出2的???