#include<stdio.h>
int reslut(int n)
{
int end;
if(n<0)
{
printf("输入错误!\n");
return 0;
}
else if(n==0||n==1)
{
end=1;
}
else
{
end=reslut(n-1)*n;
}
return end;
}
int main()
{
int x;
scanf("%d",&x);
printf("%d的阶乘是%d\n",x,reslut(x));
return 0;
}为什么只能算到31?32、33的时候显示结果为一个负数,34以及更大的数显示结果为0。小白求教,不懂为什么。
- 2 回答
- 0 关注
- 2663 浏览
添加回答
举报
0/150
提交
取消