gpt4 book ai didi

c++ - 为什么我的 "string mingling"方法返回意外结果?

转载 作者:行者123 更新时间:2023-11-30 01:46:37 25 4
gpt4 key购买 nike

我正在尝试实现一个简单的“字符串混合”方法,该方法递归地混合两个大小相等的字符串(例如,cat 和 dog 变为 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[index]) 上使用下标运算符时,它会返回直到该索引的整个字符串。要在某个索引处获取字符串的特定字符,我需要键入 s1[index,index]。这对我来说是新的。

最佳答案

您的代码的问题出在这一行:

mingled += s1[index] + s2[index];

这样做是在 index 处添加字符的代码,然后将添加的结果作为单个字符附加到字符串中。

应该是两个独立的操作:

mingled += s1[index];
mingled += s2[index];

这样,每次调用 += 时,您都可以在字符串中附加一个字符,从而产生您期望的结果。

Demo.

关于c++ - 为什么我的 "string mingling"方法返回意外结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32856016/

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