c++的递归函数,帮忙改下

来源:百度知道 编辑:UC知道 时间:2024/05/10 20:50:36
这是一个求n! 的递归函数请帮忙看看哪里出问题了
#include<iostream>
using namespace std;
long fun(int x)
{
long f
if(x<0)
cout<<"error"<<endl;
return 0;
else
if(x==0)
cout<<"answer is 0"<<endl;
return 0;
else
if(x==1)
cout<<"answer is 1"<<endl;
return 1;
else
f=fun(x)*fun(x-1);
return(f);
}
int main()
{
long int(int x);
int num;long y;
cout<<"enter";
cin<<num;
y=long int(num);
cout<<n<<'!'<<'='<<y<<endl;
}

这样就对了:
#include<iostream>
using namespace std;
long fun(int x)
{
long f ;
if(x<0)
{
cout<<"error"<<endl;
exit(0);
}
else if(x==0)
f=0;
else if(x==1)
f=1;
else
f=x*fun(x-1);
return f;
}
int main()
{
long fun(int x);
int num;
long y;
cout<<"enter";
cin>>num;
y=long int(num);
cout<<num<<"!="<<fun(y)<<endl;
return 0;
}

if(x==0)
cout<<"answer is 0"<<endl;

老大 X==0 阶乘要等于1的