遞回是以自相似的方式重復專案的處理程序,同樣地,在編程語言中,在函式內部呼叫函式自身,稱為遞回呼叫,如下:
void recursion(){ recursion(); /* 函式呼叫自身 */}int main(){ recursion();}
C 語言支持遞回,即,一個函式可以呼叫自身,但在使用遞回時,程式員需要注意定義一個從函式退出的條件,否則會進入無限回圈,

遞回函式在解決許多數學問題上起了至關重要的作用,比如計算一個數的階乘、生成斐波那契數列,等等,
數的階乘
下面的實體使用遞回函式計算一個給定的數的階乘:
#include <stdio.h>int factorial(unsigned int i){ if(i <= 1) { return 1; } return i * factorial(i - 1); } int main() { int i = 15; printf("Factorial of %d is %d\n", i, factorial(i)); return 0; }

當上面的代碼被編譯和執行時,它會產生下列結果:
如果你也想成為程式員,想要快速掌握編程,趕緊關注小編加入學習企鵝圈子吧!
里面有資深專業軟體開發工程師,在線解答你的所有疑惑~編程語言入門“so easy”
資料包含:編程入門、游戲編程、課程設計等,
免費學習書籍:

免費學習資料:

Factorial of 15 is 2004310016
斐波那契數列
下面的實體使用遞回函式生成一個給定的數的斐波那契數列:
#include <stdio.h>int fibonaci(int i){ if(i == 0) { return 0; } if(i == 1) { return 1; } return fibonaci(i-1) + fibonaci(i-2);}int main(){ int i; for (i = 0; i < 10; i++) { printf("%d\t%n", fibonaci(i)); } return 0; }

當上面的代碼被編譯和執行時,它會產生下列結果:
0 1 1 2 3 5 8 13 21 34
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/242212.html
標籤:其他
