当我使用它时,它显示了分段转储错误



这个函数是否有某种问题,因为我已经尝试替换每个命令,但它仍然显示分段错误

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;
                
            }        
        }
    }

我不知道你的程序应该做什么,因为现在它只找到字符串中的最后一个单词。

我只是总结了这些评论,并对您的代码进行了一些改进。代码

更换零件:

  1. 通过引用传递字符串

  2. str.length((在使用整数时返回一个无符号整数,这导致编译器警告

  3. 使用x+=y而不是像tadman指出的那样使用x=x+y

  4. 增加了退货声明

最新更新