1、问题
函数首先先判断substr是否出现在str中,如果它并没有出现,返回0,如果出现,函数应该把str *中位于该字符串后面的所有字符复制到该子串的位置,从而删除这个子串,然后函数返回1,如果 *多次出现str中,函数只删除第1次出现的子串,函数的第2个参数绝不会被修改。
2、实现
#include <stdio.h>
#include <stdlib.h>/***函数首先先判断substr是否出现在str中,如果它并没有出现,返回0,如果出现,函数应该把str*中位于该字符串后面的所有字符复制到该子串的位置,从而删除这个子串,然后函数返回1,如果*多次出现str中,函数只删除第1次出现的子串,函数的第2个参数绝不会被修改。*/int del_substr(char *str, const char *substr)
{//条件判断if (str == NULL || substr == NULL)return 0;//指向strchar *str1;//指向substrconst char *substr1 = substr;for (; *str != '\0'; ++str){ str1 = str;while (*str1 == *substr1 && str1 != '\0' && substr1 != '\0'){+