请问递归函数是怎样看的?
long fact(int n){
if(n==1)
return 1;
return fact(n-1)*n; //出现函数自调用
}
请问是怎样自调用的???
我看不明白~!!!!
程序代码:
long fact(int n)
{
if(n==1) return 1;
return fact(n-1)*n; //出现函数自调用
}
/*
如果n传进来的时候等于5:
那么: 先执行if(n==1),不等于,就ruturn fact(n-1)*n;
此时n=4,在执行if(n==1),不等于,就return fact(n-1)*n;
此时n=3,在执行if(n==1),不等于,就return fact(n-1)*n;
此时n=2,在执行if(n==1),不等于,就return fact(n-1)*n;
此时n=1,在执行if(n==1),n已经是1了,就return 1;
*/
这种要靠多意会,光是这样是不行的,递归本来要去深深理解才行~!