我一直在处理这段代码,我相信我的逻辑是正确的,但它一直在抛出分段错误。我只是希望能得到另一双眼睛来帮助我看看我做错了什么。谢谢你的时间。
问问题
129 次
1 回答
1
看起来您在这里使用了错误的数组下标:
else if ((strcmp(*(array2 + i) , *(array1 + j)) < 0)) //compares first position in each array again
您将i
下标与array2
when it should be 一起使用j
。你也交换了下标array1
。
顺便说一句,你知道你可以说array1[i]
代替*(array1 + i)
吗?
编辑:
您有两个if
块用于测试array1[i]
和array2[j]
获取NULL
值。我认为您需要在continue;
每个代码块的末尾添加一个。否则,您点击以下if
语句并传递NULL
给strcmp()
.
NULL
当你有count
参数告诉每个数组中有多少条目时,你真的需要测试吗?
于 2013-03-15T20:21:45.183 回答