輸出結(jié)果是1,為什么是120了?
#include<stdio.h>
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;
????}
????return?result;
}
?
int?main(){
????int?n=5;
????printf("%d的階乘=%d\n",n,factorial(n));
????return?0;
2018-03-19
最后的main少了一個結(jié)尾的},結(jié)果運行時120。不斷調(diào)用自身,等于是執(zhí)行(n-1)*n,然后緊接著繼續(xù)執(zhí)行((n-1)-1)*(n-1),然后不斷執(zhí)行到等于1
2017-11-11
這句話里面的factorial(n-1)*n是調(diào)用函數(shù)。
相當(dāng)于
n=1結(jié)束
輸出120