階乘順序問(wèn)題
#include <stdio.h>
int sum(int i)
{
??? int result;
??? if(i<0)
??? {
??????? printf("%s\n","輸入錯(cuò)誤!");
??????? return 0;
??? }
??? else if(i==0 || i==1)
??? {
??????? result = 1;
??? }
??? else
??? {
??????? result = i*sum(i-1);
??? }
??? printf("%d\n",result);
??? return result;
}
int main()
{
??? int i = 5;
??? printf("和為%d\n",sum(i));
??? return 0;
}
運(yùn)行結(jié)果
1
2
6
24
120
階乘順序?yàn)楹尾皇堑怪敵觯?br />
2019-10-22
對(duì)于遞歸函數(shù),我們是先一步一步的加進(jìn)去的,所以當(dāng)我們輸出時(shí)應(yīng)當(dāng)先從后面輸出。畢竟我們?cè)谇懊嫠銜r(shí)都是個(gè)函數(shù),有未知數(shù),當(dāng)?shù)阶詈蠛笥兄盗?,于是一個(gè)一個(gè)輸出來(lái)。便出現(xiàn)了一個(gè)從正著輸出的現(xiàn)象。可以看下一節(jié)的圖,很有道理,不行就用編譯器,單步執(zhí)行。希望能幫你。