c語言遞歸函數(shù)的例子 如何計(jì)算遞歸函數(shù)的調(diào)用次數(shù)?
如何計(jì)算遞歸函數(shù)的調(diào)用次數(shù)?#include<stdio.h>int max=0//計(jì)次int factorial(int n){int sum=0if(n==1) sum=1else sum
如何計(jì)算遞歸函數(shù)的調(diào)用次數(shù)?
#include<stdio.h>int max=0//計(jì)次int factorial(int n){int sum=0if(n==1) sum=1else sum=factorial(n-1)*nmax return sum}void main(){//列出5的階乘,調(diào)用了幾次函數(shù)體factorial(5)printf("%d",max)}
步驟:在函數(shù)體外創(chuàng)建一個(gè)全局變量,然后在函數(shù)體內(nèi)調(diào)用,使該變量當(dāng)條件滿足時(shí)即 1。最后輸出該變量就是調(diào)用次數(shù)。下面列出C的例子(求n的階乘):總結(jié):使用全局變量。當(dāng)然,你也可以函數(shù)中定義一個(gè)靜態(tài)變量,然后每次調(diào)用函數(shù)遞增1不過后者的話,如果要在其他函數(shù)中獲得此函數(shù)的調(diào)用次數(shù)會(huì)比較麻煩!