#include <stdio.h>
int fact(int n);
int main()
{
double e = 2, e2;
int n = 2;
for (n = 2;; n++)
{
e = e + (1 / (double)fact(n));
if (e < 0.0000001)
{
printf("first e = %f\n", e);
e2 = e + (1 / (double)fact(n+1));
printf("second e = %f\n", e2);
printf("n = %d\n", n+1);
printf("the difference between first e and second e = %f\n", e2-e);
break;
}
}
return 0;
}
int fact(int n)
{
if (n == 0)
return 1;
else
return n * fact(n - 1);
}
이걸 실행하면 결과가 자꾸 안나와서 디버그해보니 저 recursion 부분에서 stackoverflow가 걸리는거 같아요 왜이럴까요;;