乐愚社区Beta

 编程语言  >  [C语言]字符串删除子串

[C语言]字符串删除子串

Walker  管理员   L12  • 2018-09-02 • 回复 1 • 最后编辑于2018-09-04 23:26 • 只看楼主举报    

C和指针第六章课后题

#include <stdio.h>int del_substr(char *str, char const *substr);int main(void)
{
    char src[] = "ABCDEFG";
    //char *substr = "FGH";
    char *substr = "CDE";
 
    int ret = 0;
    ret = del_substr(src, substr);
    printf("ret = %d\n", ret);
    printf("%s\n", src);
 
    return 0;
}
 
int del_substr(char *str, char const *substr)
{
    char *t_str = str;
    char const *t_substr = substr;
    int flag = 0;
 
    char *find_str = NULL;
 
    //查找子串
    while (*t_str)
    {
        if (*t_str == *t_substr)
        {
 
            if (find_str == NULL)
            {
                find_str = t_str;  //指向第一次出现子串的位置
            }
 
            t_substr++;
            if (*t_substr == '\0') //找到目标子串
            {
                break;
            }
        }
        else
        {
            t_substr = substr; //复位指针
            find_str = NULL;
        }
 
        t_str++;
    }

    if (find_str == NULL)
    {
        flag = 0;
    }
    else
    {
        flag = 1;
        //进行删除除子串
 
        while (*t_str)
        {
            t_str++;
            *find_str = *t_str; //将后面的字符赋值过来
 
            find_str++;
        }
 
    }

    return flag;
}


1条回帖
仙道吾邪君  L0  评论于
(0)  回复(0) 1#
这图是拼的吧
还没注册帐号?快来注册社区帐号,和我们一起嗨起来!
关于本社区

集各类兴趣爱好于一身的轻量化交流社区,在此您可以和他人一起分享交流您觉得有价值的内容,社区鼓励大家发表原创内容,为社区添砖加瓦!

发帖奖励 → 社区版规 → 招聘版主 →
推荐版块
扫描二维码下载社区APP
回到顶部