【发布时间】:2014-10-01 00:19:09
【问题描述】:
我在递归调用函数的帮助下编写程序,我得到正确的输出,直到我的测试输入在递归的 10 步内得到解决,但是如果我将输入值增加到 11,它开始给出运行时错误: 分段错误(核心转储)
函数的代码sn-p是:
void find(int x) {
if(ctr==n-1) {
po[k]=x;
k++;
ctr--;
return;
} else {
ctr++;
find(x+a);
ctr++;
find(x+b);
ctr--;
return;
}
}
【问题讨论】:
-
po的大小是多少?看来您最初的 po 是 int po[10]。
-
所有作品都不在这里。
ctr, n, k, a & b是如何声明和初始化的? -
它是 1000,即 int po[1000]
-
n 是 11 a 是 3 b 是 5
-
ctr=0 初始化为全局变量
标签: c++ runtimeexception