您的位置:首页 > 编程语言 > C语言/C++

(C语言)字符串替换空格:请实现一个函数,把字符串中的每个空格替换成“%20”

2017-09-04 12:17 711 查看
思路:我们需要把空格替换成“%20”即相当于把一个字符替换成了三个字符,所以数组的长度的发生了变化,所以我们需要先计算出字符串中有多少空格,然后对字符数组进行扩容,然后再对空格进行替换。
下面复制粘贴我的函数代码,整体的全部代码自己补全一下就好啦:

void replaceBlank(Char* str,int length){
int spaceNum=0;
int newLength=0;
int oldLength=length;
int newBack=0;
int oldBack=0;
for(int i=0;i<length;i++){
if(str[i]==' '){
spaceNum++;
}
}
newLength=oldLength+spaceNum*2;
newBack=newLength-1;
oldBack=oldLength-1;
for(int i=oldBack;i>=0;i--){
if(str[i]==' '){
str[newBack--]='0';
str[newBack--]='2';
str[newBack--]='%';
}else{
str[newBack]=str[i];
newBack--;
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐