你的递归没有退出条件
这个告警实际上提示你了,你这个递归会无限递归。加个判断n=0然后直接return的
代码如下:
#include <stdio.h>
int main()
{
int fac(int n);
int p,n,i=1;
float sum = 1.0;
scanf("%d",&n);
for (int k = 1; i <= n; k++)
{
i= 2*k -1;
p = fac(k);
sum = sum + 1.0*i/p;
}
printf("%f\n",sum);
printf("袁康捷");
return 0;
}
int fac(int n)
{
if(n == 1)
return n;
else
return n*fac(n-1);
}