gpt4 book ai didi

c - 用 C 中的指针合并两个序列 - "Violation Call"

转载 作者:太空宇宙 更新时间:2023-11-04 01:34:34 26 4
gpt4 key购买 nike

我有一个二维数组,我必须合并他所有的渐进列。我已经将数组拆分为 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

最佳答案

*seqIndex++; 可能并不如您所想。它应该是 (*seqIndex)++; 而不是增加 seqIndex 指向的值。您当前拥有的代码会增加指针本身,还会执行取消引用操作并丢弃其结果。

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

关于c - 用 C 中的指针合并两个序列 - "Violation Call",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16761593/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com