c语言删除字符串中的子串pta
时间: 2023-12-12 20:05:27 浏览: 159
根据引用[1]和引用,本题需要实现删除字符串中的子串pta。具体实现步骤如下:
1.定义一个函数,输入为原始字符串和需要删除的子串,输出为删除子串后的字符串。
2.遍历原始字符串,如果当前字符与子串的第一个字符相同,则判断后续字符是否与子串相同,如果相同则删除该子串。
3.将删除子串后的字符串返回。
以下是C语言实现代码:
```c
#include <stdio.h>
#include <string.h>
char* deleteSubStr(char* str, char* subStr) {
int len1 = strlen(str);
int len2 = strlen(subStr);
int i, j, k;
for (i = 0; i < len1; i++) {
if (str[i] == subStr[0]) {
for (j = 1, k = i + 1; j < len2 && k < len1; j++, k++) {
if (str[k] != subStr[j]) {
break;
}
}
if (j == len2) {
memmove(&str[i], &str[k], len1 - k + 1);
i--;
len1 = strlen(str);
}
}
}
return str;
}
int main() {
char str[1001], subStr[] = "pta";
fgets(str, 1001, stdin);
str[strlen(str) - 1] = '\0';
printf("%s", deleteSubStr(str, subStr));
return 0;
}
```
阅读全文