gpt4 book ai didi

c - C 编码中合并排序函数的段错误

转载 作者:行者123 更新时间:2023-11-30 19:22:42 26 4
gpt4 key购买 nike

我一直在研究这段代码,我相信我的逻辑是正确的,但它不断抛出段错误。我只是希望能有另一双眼睛来帮助我看到我做错了什么。感谢您抽出时间。

最佳答案

看起来您在这里使用了错误的数组下标:

else if ((strcmp(*(array2 + i) , *(array1 + j)) < 0)) //compares first position in each array again

您在 array2 中使用了 i 下标,而它应该是 j。您还用 array1 交换了下标。

顺便问一下,您知道可以说 array1[i] 而不是 *(array1 + i) 吗?

编辑:

您有两个 if block ,用于测试 array1[i]array2[j]NULL 值。我认为您需要在每个代码块的末尾添加一个 continue; 。否则,您将执行以下 if 语句并将 NULL 传递给 strcmp()

当您有 count 参数来告诉每个数组中有多少个条目时,您真的需要测试 NULL 吗?

关于c - C 编码中合并排序函数的段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15441223/

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