我试图实现一个简单的“字符串混合”方法,递归混合两个相同大小的字符串(例如,猫和狗变成cdaotg - 字符串1的第一个字母,字符串2的第一个字母,等等)。为什么我的“字符串混合”方法返回意外的结果?
我的方法如下:
string mingleStrings(string s1, string s2, int index) {
if (index >= s1.length()) {
return "";
} else {
string mingled = "";
mingled += s1[index] + s2[index];
mingled += mingleStrings(s1,s2,++index);
return mingled;
}
}
当我使用标操作符上我的字符串(S1 [指数]),则返回整个字符串到该索引。为了在某个索引处获得字符串的特定字符,我需要输入s1 [index,index]。这对我来说是新的。
你能提供一种[MCVE](http://stackoverflow.com/help/mcve)其中'S1 [指数]'还给整个子和其中'S1 [指数,指数]'修复?它绝对不应该发生,'索引,索引'只是评估'索引'两次,并使用第二次评估。 – chris
难道它不是? –