不懂呢。。。。。。。。。
你所写的这段代码是想联系递归调用,但是你没有f(1)的值,所以没有结果,对于return 1则是函数返回,因为函数是int类型所以需要返回个值,另外c++中要求主函数不能oid型哦!你的函数代码修改下:#include "stdafx.h"
#include <iostream>
using namespace std;
#include<stdio.h>
long fac(int);
int main()
{
int n;
long y;
printf("Please input an number:");
scanf("%d",&n);
y=fac(n);
printf("%d!=%d\n",n,y);
return 1;
}
long fac(int n)
{
long f;
if(n<0)
{printf("data error!\n");
f=-1;
}
else if(n==0||n==1)f=1;
else f=fac(n-1)*n;
return f;
}