关于函数调用
先说一个求阶乘的题目.-------------------------------------------------------------------------
//原函数.
#include<iostream>
using namespace std;
long fac(int n)
{
long f;
if(n<0)
cout<<"n<0,data error!"<<endl;
else if(n==0) f=1;
else f=fac(n-1)*n;
return(f);
};
int main()
{
long fac(int n);//注意这个地方.
int n;
long y;
cout<<"Enter a positive integer:"<<endl;
cin>>n;
y=fac(n);
cout<<n<<"!="<<y<<endl;
}
-----------------------------------------------------
我觉得 <<<long fac(int n);//注意这个地方.>>>这行是没必要的.
于是删掉,可以正常运行.
但是如果这样再把自定义的fac函数剪到主函数后面的就会出现错误,必须在主函数把long fac(int n);
这句加上以示声明.就是下面的样子
#include<iostream>
using namespace std;
int main()
{
long fac(int n);//注意这个地方,必需要这句了.
int n;
long y;
cout<<"Enter a positive integer:"<<endl;
cin>>n;
y=fac(n);
cout<<n<<"!="<<y<<endl;
}
long fac(int n)
{
long f;
if(n<0)
cout<<"n<0,data error!"<<endl;
else if(n==0) f=1;
else f=fac(n-1)*n;
return(f);
};
------------------------------------------------
请问各位,是不是应该这样考虑的啊?