c語言關於遞迴函式跪求詳細講解為什麼它輸出52341,而不是

2022-10-22 15:10:53 字數 599 閱讀 2670

1樓:匿名使用者

#include

#include

void reverse(int n);

int main(void)

void reverse(int n)

printf("%d",n%10);

reverse(n/10);

}先試試這個,發現什麼沒?就是把那個遞迴的地方改了一下,你只是沒有徹底明白遞迴怎麼用,我想你應該想讓它每得出一個就輸出一個吧,所以要改成我這樣才行,明白了嗎?不明白可以再問啊

2樓:匿名使用者

void reverse(int n)

reverse(n/10); //一直遞迴下去,直到n/10==0,不執行下一步返回。。

printf("%d",n%10);//除非上面那些遞迴執行完,否則執行不了這一步。

}n/10==0,不執行下一步返回時,上一層函式將執行到printf("%d",n%10);然後自然返回上上一層。。。。。如此下去直到返回主函式。

3樓:

int 的資料有個範圍。具體你自己查一下。。你定義的時候寫成long int就可以了

用C語言或C 遞迴函式生成Catalan三角形的數

include define n 20 void fun int arr n int r,int c,int n else if c 0 else if r c else int main return 0 c 程式設計計算卡特蘭數的 用無符號64位計算 最高可以計算33個卡特蘭數 如果還需要更大 ...

c語言程式設計 編寫遞迴函式fac 求n!,呼叫該函式求s

include int fac int n int main void printf 1 2 n d n sum return 0 int fac int n int fac int n int fun int n c 程式設計題 編寫函式實現求n!主程式要求輸入n的值,用函式呼叫的方式求n!的值 ...

這道c語言題求大神詳細講解,C語言中,這道題怎麼做?大神求教

i 0 進入迴圈。不滿足if i 2 i i變為1,s i s變為1 滿足while i 7 繼續迴圈。滿足if i 2 i i變為2,continue 跳過迴圈體中後版續語句。權滿足while i 7 繼續迴圈。不滿足if i 2 i i變為3,s i s變為4 滿足while i 7 繼續迴圈。...