Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 如果向量太大,我的程序会崩溃吗?_C_Debugging_Crash - Fatal编程技术网

C 如果向量太大,我的程序会崩溃吗?

C 如果向量太大,我的程序会崩溃吗?,c,debugging,crash,C,Debugging,Crash,当我用大向量测试我的程序时,比如在大于12个元素中,它崩溃了(我得到一个lldb错误)。但是,对于小向量,它可以很好地工作。我认为它试图访问一个不应该访问的内存空间,但我不知道如何修复它。 程序应该打印出元素和等于“目标”的向量 还有,我可以用另一种方式表达:if(I&(1问题是您得到了52428810递归函数调用。这将导致堆栈溢出。请尝试迭代,而不是递归: for (int i = 0; i < count; i++) { findSubsets(vector, size, i)

当我用大向量测试我的程序时,比如在大于12个元素中,它崩溃了(我得到一个lldb错误)。但是,对于小向量,它可以很好地工作。我认为它试图访问一个不应该访问的内存空间,但我不知道如何修复它。 程序应该打印出元素和等于“目标”的向量
还有,我可以用另一种方式表达:if(I&(1问题是您得到了
52428810
递归函数调用。这将导致堆栈溢出。请尝试迭代,而不是递归:

for (int i = 0; i < count; i++) {
    findSubsets(vector, size, i);
}
for(int i=0;i
并删除
findSubsets
中的递归调用

for (int i = 0; i < count; i++) {
    findSubsets(vector, size, i);
}