1

我有一个二维数组,我必须合并他所有渐进的列。我已经将数组拆分为,swap[]但是当我尝试将其放入swap[]排序序列时出现“违规调用”。我正在使用指针,我认为这就是问题所在。任何人都可以帮忙吗?

void MergeSequence(float seq[], float newSeq[], int *seqIndex, int newSeqIndex)
{
    int j = *seqIndex;

    for(int i=0; i<newSeqIndex; i++)
    {
        seq[*seqIndex] = newSeq[i];
        *seqIndex++;
    }
}    

seq[]是要显示newSeq[]的行,是我要添加的行seq[]。指针必须是大的当前位置,seq[]最后一个参数是我要添加的行的长度。希望这不是很混乱:D

4

1 回答 1

4

*seqIndex++;可能不符合你的想法。相反,应该(*seqIndex)++;增加 指向的值seqIndex。您当前拥有的代码会增加指针本身,并执行取消引用操作并丢弃其结果。

您还需要确保seq指向至少包含条目的数组*seqIndex + newSeqIndex,并且newSeq指向至少包含newSeqIndex条目的数组。

于 2013-05-26T17:04:28.627 回答