练习题目三
用递归进行阶乘
运行代码

#include<iostream>
using namespace std;
int f(int n);
int n;
int main()
{
    cin>>n;
    cout<<f(n);
 } 
 
 int f(int n)
 {
    if(n<=1){
        return 1;
     }
    return n*f(n-1);
 }

编写心得
递归的核心个人感觉是在返回return,比如这个阶乘的函数,当他返回值为nf(n-1)的时候,继续带入f(n)的函数,公式就会一直乘以f(n-1),即nf(n-1)....f(2)*f(1),在f(1)这里需要加一个if条件判断n在此时是不是需要继续进行递归,若不加入if判断,程序会一直进行下去导致程序崩溃,加入if条件当n减至1时停止程序进行并输出,从而达到程序运用递归的方法去进行阶乘的效果。理解了return的用法,也就进而理解了递归的使用方法。