C语言作业7 指针实现strlen,strcpy,strcmp和strstr功能

1、自定义函数(my_strlen)实现strlen函数的功能
2、自定义函数(my_strcpy)实现strcpy函数的功能
3、自定义函数(my_strcmp)实现strcmp函数的功能
4、自定义函数(my_strcat)实现strcat函数的功能
5、自定义函数(my_strstr)实现求src字符串中是否包含子串dest字符串

#include <stdio.h>

// 求字符串长度
int my_strlen(char *arr)
{
    int sum = 0;
    while (*arr)
    {
        sum++;
        arr++;
    }
    return sum;
}

// 拷贝字符串
void my_strcpy(char *arr, char *brr)
{
    while (*arr)
    {
        *brr = *arr;
        brr++;
        arr++;
    }
    *brr = '\0';
}

// 比较字符串
int my_strcmp(char *arr, char *brr)
{
    while (*arr && (*arr == *brr))
    {
        arr++;
        brr++;
    }
    return *arr - *brr;
}

// 查看字符串里是否包含子字符串
char *my_strstr(char *arr, char *brr)
{
    if (!*brr)
    {
        return arr;
    }

    while (*arr)
    {
        if (*arr == *brr)
        {
            char *a = arr;
            char *b = brr;
            while (*b)
            {
                if (*a++ != *b++)
                {
                    break;
                }
            }
            if(!*b)
            {
                return arr;
            }
        }
        arr++;
    }
    return NULL;
}

int main(int argc, char const *argv[])
{
    char src[100] = {"0"};
    char ret_src[100] = {"0"};
    char dest[100] = {"0"};
    printf("请输入一个字符串:");
    gets(src);

    // 求字符串长度
    int retval_my_strlen = my_strlen(src);
    printf("该字符串的长度是:%d\n\n", retval_my_strlen);

    // 拷贝字符串
    my_strcpy(src, ret_src);
    printf("拷贝后新的字符串retsrc = %s\n\n", ret_src);

    // 比较字符串
    printf("请再输入一个字符串:");
    char src1[100] = {"0"};
    gets(src1);
    int retval_my_srccmp = my_strcmp(src, src1);
    printf("该字符串和原字符串比较得出:%d\n\n", retval_my_srccmp);

    
    printf("请再输入一个字符串:");
    gets(dest);
    char *retval_my_strstr = my_strstr(src,dest);
    printf("返回判断值:%s\n",retval_my_strstr);
    return 0;
}

 输出结果如下:

相关推荐

  1. strstr 的使用模拟实现

    2024-07-12 20:56:03       36 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-12 20:56:03       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-12 20:56:03       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-12 20:56:03       57 阅读
  4. Python语言-面向对象

    2024-07-12 20:56:03       68 阅读

热门阅读

  1. python爬虫js逆向入门

    2024-07-12 20:56:03       26 阅读
  2. vue3+ts 引入 json-editor-vue3 报错

    2024-07-12 20:56:03       19 阅读
  3. jar服务注册为windows的服务

    2024-07-12 20:56:03       14 阅读
  4. C++:创建线程

    2024-07-12 20:56:03       27 阅读
  5. python 知识点累积

    2024-07-12 20:56:03       22 阅读
  6. C语言——循环结构:while、do...while、for

    2024-07-12 20:56:03       22 阅读
  7. 简单有效防止CDN被盗刷流量

    2024-07-12 20:56:03       18 阅读
  8. Linux 命令个人学习笔记

    2024-07-12 20:56:03       19 阅读
  9. SpringBoot实现Read Through模式

    2024-07-12 20:56:03       20 阅读
  10. linux中vim切换输入中文

    2024-07-12 20:56:03       17 阅读