day--10

1> 自定义函数(my_strlen)实现strlen函数的功能

#include<stdio.h>
#include<string.h>
void my_strlen(char *arr)
{
    int n=0;
    while(*arr!='\0')  //循环至'\0'
    {
        n++;
        arr++;
    }
    printf("%d\n",n);
}
int main(int argc,const char *argv[])
{
    char a[100]="";
    printf("请输入字符串:");
    gets(a);
    my_strlen(a);
    return 0;
}

2> 自定义函数(my_strcpy)实现strcpy函数的功能

#include<stdio.h>
#include<string.h>
char *my_strcpy(char *arr,const char *brr)
{
    char *crr=arr;//接受arr存储的地址
    while(*brr!='\0')  //循环至'\0'
    {
        *crr=*brr;
        crr++;
        brr++;
    }
    return arr;//返回地址
}
int main(int argc,const char *argv[])
{
    char a[100]="";
    char b[100]="";
    printf("请输入字符串:");
    gets(b);
    char *p=my_strcpy(a,b);//指针接收地址
    printf("p=%s\n",p);
    return 0;
}

3> 自定义函数(my_strcmp)实现strcmp函数的功能

#include<stdio.h>
#include<string.h>
void my_strcmp(const char *arr,const char *brr)
{
    while(*arr!='\0'&&*brr!='\0'&&*arr==*brr)
    {
        arr++;
        brr++;
    }
    if(*arr=='\0'&&*brr=='\0')
    {
        printf("=0\n");
    }
    else if(*arr>*brr||*brr=='\0')
    {
        printf(">0\n");
    }
    else
    {
        printf("<0\n");
    }
}
int main(int argc,const char*argv[])
{
    char a[100]="";
    char b[100]="";
    printf("请输入一个字符串:");
    gets(a);
    printf("请输入一个字符串:");
    gets(b);
    my_strcmp(a,b);
    return 0;
}

4> 自定义函数(my_strcat)实现strcat函数的功能

#include<stdio.h>
#include<string.h>
char my_strcat(char *arr,const char *brr)
{
    while(*arr!='\0')//找到arr的‘\0’的位置
    {
        arr++;
    }
    while(*brr!='\0')//循环拼接 至brr全部拼接至arr上
    {
        *arr=*brr;
        arr++;
        brr++;
    }
}
int main(int argc,const char *argv[])
{
    char a[100]="";
    char b[100]="";
    printf("请输入一个字符串:");
    gets(a);
    printf("请输入一个字符串:");
    gets(b);
    my_strcat(a,b);
    printf("a=%s,b=%s\n",a,b);
    return 0;
}

5> 自定义函数(my_strstr)实现求src字符串中是否包含子串dest字符串

#include<stdio.h>
#include<string.h>
int my_strstr(const char *arr,const char *brr)
{
    int flag=0,n=0;
    for(arr[0];*arr!='\0';arr++)
    {
        while(*brr!='\0'&&*arr==*brr)
        {
            arr++;
            brr++;
            n=n+1;
        }
        if(!*brr)
        {
            flag=1;
        }
        else
        {
            flag=0;
        }
        brr-=n;
        n=0;
    }
    return flag;
}
int main(int argc,const char *argv[])
{
    char a[100]="";
    char b[100]="";
    printf("请输入一个字符串:");
    gets(a);
    printf("请输入一个字符串:");
    gets(b);
    if(my_strstr(a,b)==1)
    {
        printf("包含\n");
    }
    else
    {
        printf("不包含\n");
    }
    return 0;
}

  • 14
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值