-1

我一直在处理这段代码,我相信我的逻辑是正确的,但它一直在抛出分段错误。我只是希望能得到另一双眼睛来帮助我看看我做错了什么。谢谢你的时间。

4

1 回答 1

1

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

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

您将i下标与array2when it should be 一起使用j。你也交换了下标array1

顺便说一句,你知道你可以说array1[i]代替*(array1 + i)吗?

编辑:

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

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

于 2013-03-15T20:21:45.183 回答