帮忙解释下每句代码的意思,看不太懂

#include<stdio.h>        

double f1(double x,int n)

{

       int i;

       double x1=1.0;

       for(i=1;i<=n;i++)

       x1=x1*x;

       return x1;

}

long f2(int n)

{int i;

long t=1;

for(i=1;i<=n;i++)

t=t*i;

return t;

}

main()

{

       int i;double x,e=1.0;

       scanf("%lf",&x);

       for(i=1;i<=15;i++)

       {e=e+f1(x,i)/f2(i);

       }

       printf("e=%10.8f\n",e);

}

#include<stdio.h>        

double f1(double x,int n)    //此函数为求x的n次方

{
       int i;

       double x1=1.0;

       for(i=1;i<=n;i++)

       x1=x1*x;

       return x1;

}

long f2(int n)     //此函数为求n的阶乘


{int i;

long t=1;

for(i=1;i<=n;i++)

t=t*i;

return t;

}

main()

{
       int i;double x,e=1.0;

       scanf("%lf",&x);   //输入x

       for(i=1;i<=15;i++)

       {e=e+f1(x,i)/f2(i);  //计算e+x的i次方/i的阶乘

       }

       printf("e=%10.8f\n",e);  //输出e

}

望采纳!