为什么会报错?
问题:编写一种方法,将字符串中的空格全部替换为%20。假定该字符串尾部有足够的空间存放新增字符,并且知道字符串的“真实”长度。
char* replaceSpaces(char* S, int length){
int count=0;
for(int i=0;i<length;i++)
{
if(S[i]==' ')
count++;
}
if(count==0)
return S;
int newlength=length+count*2;
S[newlength--] = '\0';
for(int i=newlength-1;i>=0;i--)
{
if(S[i]==' ')
{
S[newlength--]='0';
S[newlength--]='2';
S[newlength--]='%';
}
else
{
S[newlength]=S[i];
newlength--;
}
}
return S;
}