这个函数是否有某种问题,因为我已经尝试替换每个命令,但它仍然显示分段错误
string splitSentence(string str)
{
string appendedWords{""},xx;
for(int i=0 ; i < str.length();i++)
{
xx = str[i];
if (xx == " ")
{
appendedWords = "";
}
else
{
appendedWords = appendedWords + xx;
}
}
}
我不知道你的程序应该做什么,因为现在它只找到字符串中的最后一个单词。
我只是总结了这些评论,并对您的代码进行了一些改进。代码
更换零件:
-
通过引用传递字符串
-
str.length((在使用整数时返回一个无符号整数,这导致编译器警告
-
使用x+=y而不是像tadman指出的那样使用x=x+y
-
增加了退货声明