大佬们好!我的递归程序实现代码如下:
int F(int n)
{
if(n==0) return 1;else return F(n-1)*n;
}
int main()
{
int n;scanf("%d",&n);printf("%d\n",F(n));return 0;
}
运行结果当超过31时,输出的结果会变成0,当我用32做实验时,直接输出了一个负值,当输入数据小于等于31时,输出正常,没有问题
对一些小的数据,如3、 6、 9用计算器进行过验证,输出结果没有问题
求大佬们解答!
紫衣仙女
相关分类