亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

階乘順序問題

#include <stdio.h>
int sum(int i)
{
??? int result;
??? if(i<0)
??? {
??????? printf("%s\n","輸入錯誤!");
??????? 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;
}
運行結果
1
2
6
24
120
階乘順序為何不是倒著輸出?

正在回答

1 回答

對于遞歸函數,我們是先一步一步的加進去的,所以當我們輸出時應當先從后面輸出。畢竟我們在前面算時都是個函數,有未知數,當到最后后有值了,于是一個一個輸出來。便出現了一個從正著輸出的現象。可以看下一節的圖,很有道理,不行就用編譯器,單步執行。希望能幫你。

2 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
C語言入門
  • 參與學習       926904    人
  • 解答問題       21532    個

C語言入門視頻教程,帶你進入編程世界的必修課-C語言

進入課程

階乘順序問題

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號