我得到了一个代码。它应该给我一个输出,可以擦除'z'和'p'之间的中间字符。例如:zipZap( “zipXzap”):预期[zpXzp]但发现[Z PXZ P]字符串错误输出
std::string zipZap(const std::string& str){
string a = str;
string b = "";
size_t len = str.length();
for (size_t i = 0; i < len; i++){
if (str[i] == 'z')
if (str[i+2] == 'p')
a[i+1] = ' ';
}
return a;
}
在i取代了第[i + 1] = '';它给了我一个错误。
它做了你想做的事情。删除z和p之间的字符。 –
好吧,它不会删除任何字符。它用空格替换它们。 –
你的代码有'a [i + 1] =''',它将*空格*放在那里,而不是删除现有的字符。 – crashmstr