遍历字符串时,每次遇到-改变字符串,有些时候会是字符串变长,此时你应该更新数组长度,不然就遍历不完。
比如你写的是
string str;
cin>>str;
int len=str.size();
for(int i=0;i<len;i++)
{
if(str[i]=='-')
{
改变
}
}
你应该在if后加上一行
n=str.size();
即改为
string str;
cin>>str;
int len=str.size();
for(int i=0;i<len;i++)
{
if(str[i]=='-')
{
改变
}
n=str.size();
}
cout<<str;
写得比较详细,希望能帮到后人