根据我对分段错误的理解,它们发生在您尝试访问程序“空间”之外的内存时。我的 IDE 说异常发生在for
我执行以下操作的第一个循环中:pi = w + i * i;
我不明白我如何访问我不应该访问的内存。该程序应该计算 pi,直到给定数量的数字,它还没有完成。发生错误时,我正在测试到目前为止的内容。代码如下:
/// computes the continued fraction, recursivley
int w = 1;
static long double pi = 0;
long double continued_fraction(int k, int i){
for(int i = 1; i <= k; i++){
pi += w + i * i;
w += 2;
pi /= continued_fraction(k, i++);
}
return pi;
}
/// continued fraction method to compute pi, up to a limit k
long double limit_fraction(int k){
int i = 1;
/// continued fraction method
pi = 4 / continued_fraction(k, 1);
return pi;
}