第1个回答 2010-01-19
#include<iostream.h>
long factorial(int n);
void main()
{
cout<<factorial(4)<<endl;
}
long factorial(int n)
{
if(n==0){
return 1;
}
else{
return n*factorial(n-1);
}
}
----------------------------------------------------
可以不用result 浪费局部变量 浪费局部变量在寄存器的资源
result=0;是为了初始化局部变量 如果不初始化 result 则会是一个随机值!其实初始化了result也没什麽用 可以不用初始化result 其实编者只是出于一种习惯而已.
希望您喜欢我的回答.
第2个回答 2010-01-19
使用long int类型是为了保证不会出现越界的错误,初始化为零是因为每次调用factoria()函数时都会返回一个result值,所以必须对其进行初始化操作,否则再次调用时不能保证其值仍为0,避免了计算的隐患。
0只是对其初始化的值,原则上可以把其初始化为任何long int类型的数值。
第3个回答 2010-01-19
long result=0
这是定义变量后进行初始化。
不设置的话,在这里也行。
但最好养成好习惯,编程的时候,定义一个变量后要初始化
第4个回答 2010-01-19
可以不初始化,这个函数中,result初始化与否对最终的结果无影响.