我知道PROLOG有尾部递归的用法可以减少内存分配,因为不需要递归时不需要压栈,可C/C++是否也是一样就不清楚了。并且程序的确有问题。 ( 牛诚实 发表于 2008-1-9 19:32:00)
修改并加一条语句可行!
int fact(int n,int a)
{
if(n<0)
return 0;
else
if(n==0)
return a;
else
a*=n;
return fact(n-1,a);
}
( pipvcdatabase 发表于 2003-3-10 15:24:00)
简直对自己不负责任!怎么可能那???朋友以后要注意些,不能因为几分就蒙大家吧!
我运行了!根本就不行!! ( pipvcdatabase 发表于 2003-3-10 15:17:00)
想法很好,但未必可行!!!不知道最后的返回值是多少?怎么能得到结果?? ( pipvcdatabase 发表于 2003-3-10 15:10:00)
质量很一般啊 ( wrong 发表于 2002-12-27 19:34:00)
各位好啊,能帮我一个忙吗?我有一个程序不知道做啊 ( zhaohuhi 发表于 2002-12-22 12:42:00)
两种写法的变量存储有什么区别吗?没看懂,请再解释一下。 ( shd4191 发表于 2002-12-20 11:16:00)
干嘛用两个参数?
变态! 这也叫函数?
好的函数参数意义应当明确!
何况这里还有个小错误:int & a;
----我还以为遇到高手呢,伪装递归?哈! ( cteng 发表于 2002-12-19 16:44:00)
确实可以优化,但在编译时也有要求。临时变量的规则是编译器自己规定的。程序的空间应该可以优化,但效率就不一定了。过多的临时变量也不是什么好事儿。用的时候要慎重。 ( vghost 发表于 2002-12-13 13:24:00)
.......................................................
--------------------next---------------------
阅读(251) | 评论(0) | 转发(0) |