前言
请实现一个函数,把字符串 s 中的每个空格替换成"%20"。
一、示例

二、代码
代码如下(示例):
char* replaceSpace(char* s){
//先算出字符串的长度
int i = 0, j = 0, cnt = 0, len = strlen(s);
//算出有多少个空格
for(i = 0; i < len; i++) {
if(s[i] == ' ') {
cnt++;
}
}
//开辟新的空间
char *newspace = (char*)malloc(sizeof(char) * (len + cnt * 2 + 1) );
//转移
for(i = 0; i < len; i++, j++) {
newspace[j] = s[i];
if(s[i] == ' ') {
newspace[j] = '%';
++j;
newspace[j] = '2';
++j;
newspace[j] = '0';
}
}
newspace[j] = '\0';
return newspace;
}
结果

本文介绍了一个函数,该函数用于将输入字符串中的所有空格字符替换为 %20。通过计算字符串长度及空格数量,分配合适大小的新内存,并逐字符复制及替换。
1674

被折叠的 条评论
为什么被折叠?



