编写一个函数,删除一个字符串的一部分

来源:互联网 发布:golang package 编辑:程序博客网 时间:2024/06/06 02:38

函数的原型如下:
int substr(char *str,const char *substr)
函数应该首先判断substr是否出现在str中,如果它并未出现,函数返回值为0;如果出现,函数返回值为1;str中保存删除后的字符串。
实验代码如下:

#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<assert.h>#include<string.h>int my_substr(char *str, const char *substr){    assert(str);    assert(substr);    char *start = str;    char *end = str + strlen(str)-strlen(substr)+1;    while (start < end)    {        char *str_start = start;        const char *substr_start = substr;        while (*substr_start)        {            if (*str_start == *substr_start)            {                str_start++, substr_start++;            }            else            {                break;            }        }        if (*substr_start == '\0')        {            while (*start++ = *str_start++);            return 1;        }        start++;    }    return 0;}int main(){    char str[20] = "abcdefghijk";    const char *substr = "ghij";    int ret=my_substr(str, substr);    printf("%s\n", str);    printf("%d\n",ret);    return 0;}

实验结果:
测试1:
这里写图片描述

测试2:
这里写图片描述

阅读全文
0 0
原创粉丝点击