c语言知识问题求教?factor这个函数是怎么用的,如果可以,可
factor这个是怎么用的, 如果可以,可以给个例题不
一种可递归的语言,它的函数能够自己调用自己。一个简单的例子就是计算整数阶乘的函数factor( )数N的阶乘是1到N之间所有数字的乘积。例如3的阶乘是1×2×3,即是6。 factor( )和其等效函数fact( )如例4 - 1 0所示。 [例4 - 1 0 ] factor(n) /* 递归调用方法* / int n; { int answer; if (n==1) return (1); answer=factor(n-1) * n; /* 函数自身调用* / return(answer); } [例4 - 11 ] fact(n) /* 非递归方法* / int n; { int t,a n s w e r; answer = 1; for (t=1; t < = n; t ++) answer = answer * t; return(answer); } 非递归函数fact( )的执行应该是易于理解的。它应用一个从1开始到指定数值结束的循环。 在循环中,用“变化”的乘积依次去乘每个数。 factor( )的递归执行比fact( )稍复杂。当用参数1调用factor( )时,函数返回1;除此之外的其它值调用将返回factor(n-1) * n这个乘积。为了求出这个表达式的值,用( n - 1)调用factor( )一直到n等于1,调用开始返回。