#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 關注
- 2780 瀏覽
添加回答
舉報
0/150
提交
取消