int fac(int n){ if(n<=0) return 0; else if(n==1) return 1; else return n*fac(n--);}
差不多吧
这个和n-1的区别在于前者会改变n,而后者不会,虽然在表面上看起来差不多,但实质上相差甚远.在递归中,有3个方面需要掌握.1.递归出口(这里是if(n==0))2.递归式 即 f(n)=n*f(n-1);3.界限函数 ,即要使得规模向出口靠近,即这里的n--;