太粗心了?。?!居然沒有寫return result;結(jié)果是“5的階乘=-1929224960”
自己居然沒有寫return result;
還在那兒傻乎乎的找了半天?。。?/strong>
唉,太太粗心了!!
#include<stdio.h> //自定義階乘函數(shù) int?factorial(int?n) { ????int?result; ????if(n<0) ????{ ????????printf("輸入錯誤!\n"); ????????return?0; ????} ????else?if(n==0?||?n==1) ????{ ????????result?=?1; ????} ????else ????{ ????????result?=?factorial(n-1)*n; ????} } int?main() { ????int?n=5; ????printf("%d的階乘=%d\n",n,factorial(n)); ????return?0; }
但是輸入int n=不同的值,都有不同的結(jié)果輸出。絕對值還都是很大的數(shù)字!
1的階乘=-1984603552
2的階乘=325760192
3的階乘=977280576
4的階乘=-385844992
5的階乘=-1929224960
6的階乘=1309552128
(以上結(jié)果當(dāng)然不是真正的階乘!?。?/p>
不知道是怎么運(yùn)行的!
誰能給解釋下?
2015-12-20
;??? ....
2015-12-20
19花括號后應(yīng)有return result