【发布时间】:2016-04-15 21:53:07
【问题描述】:
我正在尝试以递归方式交换字符串的两个索引,但我遇到了分段错误。谁能告诉我我哪里出错了?这一切都在一个 void 函数中,它接受三个参数,单词(字符串)和 first 和 last 作为要交换的位置
int count = 0;
if(words.length() == 0)
return;
if(words.length() < last)
return;
if(words[first] > words[last])
return;
if(words.at(first + 1)){
words[first] = words[last + count];
reverseit(words, first, last);
}
if(words.length() >= last){
words[last - 1] = words[last];
words[last] = words[last -1];
// words[first + 1] = words[first];
// words[first] = words[first +1];
count++;
reverseit(words, first, last);
}
【问题讨论】:
-
欢迎来到 StackOverflow。请阅读并遵循帮助文档中的发布指南。 Minimal, complete, verifiable example 适用于此。在您发布代码并准确描述问题之前,我们无法有效地帮助您。在这种情况下,我们应该得到一个驱动程序和完整的错误消息。 “出现段错误”不符合标准。