Auto commit

This commit is contained in:
smallkun 2025-02-25 08:58:39 +08:00
parent 0c901eeaaa
commit c57e611d42

View File

@ -12,8 +12,38 @@ char* replaceSubstring(const char *str, const char *oldSubstr, const char *newSu
/**********Program**********/
//动态内存分配数组空间
result = (char *)malloc(10000);
p = result;//将数组首地址赋值给一个指针变量用来操作数组
for(i=0;i<strLen;i++){//主串的下标遍历
j = 0;//子串的下标遍历
//判断当前是否找到和主串中是否和子串开头的字符
if(oldSubstr[j] != str[i]){
*p++=str[i];//直接存到新字符串
continue;
}
while(oldSubstr[j] != '\0' && oldSubstr[j++] == str[i++]);
//如果找到和子串相同的元素
//则一一比较 一直比较到子串到结束符或者到字符不相等
if(oldSubstr[j] == '\0'){
//k为主串中子串的起始位置
k=0;
while(newSubstr[k] != '\0'){
*p++ = newSubstr[k++];
}
i--;
}else{//只是前面几个字符匹配 后续并不匹配 则需要从头开始存
i-=j;
*p++=str[i];
}
}
*p='\0';
/*
abcabc
a
##
##bc##bc
*/
/********** End **********/
@ -49,4 +79,4 @@ int main() {
free(replacedStr);
return 0;
}
}