空格替换函数的实现(附源码和图解)
一、题目
题目如下(示例):
写一个函数,将一个字符串中的每个空格替换成‘%20’
eg:一个字符串是‘we are happy’,调用完函数之后就变成了“we%20are%20happy”.
函数参数如下(示例):
void replaceSpace(char* str, int length)
{
}
这道题只需要完成函数部分即可!
二、源代码
代码如下(示例):
void replaceSpace(char* str, int length)
{
int spacecnt = 0;
char* p = str;
while (*p)
{
if (*p == ' ')
spacecnt++;
p++;
}
int newlen = length + 2 * spacecnt;
int end1 = length - 1;
int end2 = newlen - 1;
while (end1 != end2)
{
if (end1 != ' ')
{
str[end2--] = str[end1--];
}
else
{
str[end2--] = '0';
str[end2--] = '2';
str[end2--] = '%';
end1--;
}
}
}
三、图解
总结
以上就是今天要讲的内容,本文仅仅简单介绍了空格替换函数的模拟实现源代码和图解!
如果我的博客对你有所帮助记得三连支持一下,感谢大家的支持!