c語言遞歸函數(shù)的例子 C語言的函數(shù)嵌套調用與函數(shù)遞歸調用有啥區(qū)別?
C語言的函數(shù)嵌套調用與函數(shù)遞歸調用有啥區(qū)別?對函數(shù)的嵌套調用就是調用一個函數(shù)中的另一個函數(shù)。假設有三個函數(shù),函數(shù)a,函數(shù)B,函數(shù)C,a()->B()->C()。下面是一個嵌套函數(shù)調用的示例。函
C語言的函數(shù)嵌套調用與函數(shù)遞歸調用有啥區(qū)別?
對函數(shù)的嵌套調用就是調用一個函數(shù)中的另一個函數(shù)。假設有三個函數(shù),函數(shù)a,函數(shù)B,函數(shù)C,a()->B()->C()。下面是一個嵌套函數(shù)調用的示例。函數(shù)B在函數(shù)a中調用,函數(shù)a在函數(shù)B中調用,代碼如下:函數(shù)的遞歸調用只調用函數(shù)本身。例如,遞歸函數(shù)必須具有遞歸結束條件,否則它將無限期地遞歸,直到內存空間耗盡。
講一下c語言中遞歸函數(shù)的使用方法?
遞歸函數(shù)有三個要求:
1,遞歸的終點,即遞歸函數(shù)的退出
2,連續(xù)遞歸調用自身
3,遞歸函數(shù)的主要內容,即遞歸函數(shù)需要做什么
PS:3可以放在2的前面或后面,一般1放在后面前面。另外,2和3可以根據(jù)不同的需要進行組合。例如,有時遞歸函數(shù)的主體是返回調用底層函數(shù)的結果。
具體示例如下:
void fun(int n){if(n<=0)return//1這是遞歸的終點,即退出fun(n-1)//2,遞歸函數(shù)本身調用cout<< n<<endl//3遞歸函數(shù)的主要內容}
2,3合并case
int fun(int n){如果(n<=0)return 0 return fun(n-1)fun(n-2)//2是的,所有遞歸都可以用循環(huán)和堆棧重寫。