不知哪位大神能解釋一下這個代碼?還是新手,請幫幫忙!
#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,factorial(n)); ????return?0; }
2021-03-11
假設(shè)n=5
factorial(5)=factorial(4)*5=factorial(3)*4*5=factorial(2)*3*4*5=factorial(1)*2*3*4*5
又因?yàn)閒actorial(1)=1
所以 factorial(5)=1*2*3*4*5