在调用一个函数的过程中又出现直接或间接地调用 该函数本身,称为函数的递归(recursive)调用.
包含递归调用的函数称为递归函数.
在实现递归时,在时间和空间上的开销比较大
求n!
1 #include <iostream> 2 using namespace std; 3 4 long func(int n); 5 6 int main() 7 { 8 long c; 9 int x; 10 cout << "please enter a integer number:" << endl; 11 cin >> x; 12 c = func(x); 13 cout << x << "! = " << c << endl; 14 return 0; 15 } 16 17 long func(int n) 18 { 19 long c; 20 if (n < 0) 21 cout << "n < 0,data erroe" << endl; c = -1; 22 23 if(n == 0 || n == 1) c = 1; 24 else 25 c = func(n - 1) * n; 26 return c; 27 }