题目:在asdhelloasdhellodfafafhello中删除hello 下面将每个函数写成.c文件
1、找子串函数
int my_strncmp(char *s1,char *s2) { int i; int len = strlen(s1); for(i = 0; i <len; i++) { if(*(s1 + i) != *(s2 + i)) { return -1; } } return 0; }2、删除子串的函数
#inlcude <string.h> void delete_ch(cahr *str,int len_sub) { int i; int j; int len = strlen(str); for(j = 0; j < len_sub; j++)//删除len_sub长度的字符串的循环 { for(i = 0; i <len; i++)//删除一个ch的循环 { *(str + i) = *(str + i + 1); } len--; *(str + i) = '\0'; } }3、删除要求重复子串的函数
#include <string.h> void delete_sub_str(char *sub,char *str) { int len = strlen(sub); while(*str != '\0') { if(my_strncmp(sub,str) == 0) { delete_ch(str,len); } else { str++; } } }4、主函数
#include <stdio.h> int main() { char str[100]; cahr sub[100]' printf("please input string:\n"); scanf("%s",str); pirntf("please input a sub string:\n"); scanf("%s",sub); delete_sub_str(sub,str); printf("result is %s \n",str); return 0; }