C语言编程:删除字符串中的子串
时间: 2024-02-13 11:07:39 浏览: 98
您好,以下是一种删除字符串中子串的 C 语言代码实现,供您参考:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[1000], sub[100];
int i, j, k, n, len1, len2, flag;
printf("请输入字符串:");
scanf("%[^\n]", str);
getchar();
printf("请输入要删除的子串:");
scanf("%[^\n]", sub);
len1 = strlen(str);
len2 = strlen(sub);
for (i = 0; i < len1;)
{
flag = 0;
j = 0;
k = i;
while (str[k] == sub[j] && j < len2 && k < len1)
{
j++;
k++;
}
if (j == len2)
{
flag = 1;
for (j = i; j < k - len2; j++)
{
str[j] = str[j + len2];
}
len1 = len1 - len2;
}
if (!flag)
{
i++;
}
}
printf("删除后的字符串为:%s\n", str);
return 0;
}
```
代码实现的思路是:通过循环遍历字符串,依次比较每个字符是否为子串的第一个字符,如果是则继续比较后面的字符是否与子串匹配,如果匹配则删除子串并将原字符串中子串后面的字符向前移动,最终输出删除后的字符串。
希望能对您有所帮助!
阅读全文