所以我有这个函数使用递归来找到最长的数字序列。但每次我运行它,我收到此错误信息:
在increaseSeq.exe中0x002871D9处的未处理异常:0xC0000005: 访问冲突写入位置0x01060EC0。
int seqeter(int grid, int startPos, int seq)
{
Sequence maxseq;
maxseq.size = 0;
for (int rows=0;rows<MAXROWS;rows++)
{
for(int cols=0;cols<MAXCOLS;cols++)
{
if (grid[startPos.x][startPos.y] < grid[startPos.x+rows][startPos.y+cols])
{
return seq;
}
else
{
maxseq.list[maxseq.size] = grid[startPos.x][startPos.y];
maxseq.size ++;
return generateSeq(grid, startPos, seq);
}
}
}
return maxseq;
}
答案 0 :(得分:4)
你没有从你的startPos
前进 - 递归永远不会停止,你很快崩溃了。