#include// 标准写法
using namespace std; // 不申明命名空间 下面得写成 std::cout std::endl std::cin
int fac(int n);
//void fac(int n); // 仅返回值类型不同不能重载
//void main() // 下面是标准写法
int main(void)
{
int a,b;
cin>>b;
a=fac(b);
cout< return 0; // 标准写法
}
//void fac(int n) // 返回值是void 你怎么 return s
int fac(int n)
{
//int n,s,i; // n 已经是此函数的形参 不能重复定义
int s,i;
s=1;
for(i=1;i<=n;i++)
{
s*=i;
}
return s;
}
#include
int fac(int n);
// void fac(int n); 仅仅是返回值不一样不能成为重载
void main() {
int a,b;
cin>>b;
a=fac(b);
cout<}
int fac(int n)
{
int s,i; //int n,s,i; //n是函数的参数,不能再进行定义了。
s=1;
for(i=1;i<=n;i++) {
s*=i; } //这里少个大括号
return s;
}
函数必须和原型一致,有返回值就不能声明为void
int fac(int n)
{
int s(1), i(1); //直接初始化可以省些代码写作
for (; i <= n; i++)
s *= i;
return s;
}