模拟实现strlen,strcpy,strcat

来源:互联网 发布:python地址薄程序 编辑:程序博客网 时间:2024/05/20 19:18

实现strlen

strlen是字符计数功能

int strlen1(const char *str)   //计数法模拟实现strlen{    int count=0;    while(*str)    {        count++;        str++;    }return count;}int strlen2(const char *str)     //递归法{    if(*str!='\0')    {        str++;        return 1+strlen2(str);    }    elsereturn 0;}int strlen3(char *str)     //指针-指针{    char *p=str;    while(*p!='\0')        p++;    return p-str;    }

实现strcpy

strcpy是一种C语言的标准库函数,strcpy把从src地址开始且含有’\0’结束符的字符串复制到以dest开始的地址空间,返回值的类型为char*。

char*strcpy(char *dest,const char *src){    char *ret=dest;while((*dest++=*src++)){    ;}return ret;}

实现strcat

strcat将两个char类型连接。

char *strcat(char *dest,char *src)//实现strcat{    char *ret=dest;    while(*dest!='\0')        *dest++;    while(*src!='\0')    {        *dest++=*src++;    }    *dest='\0';return ret;}

主函数:

int main(){    char p1[10]={'a','b','c','d','eeee'};    char p2[10]="asf";    char *p3="zz";    printf("%d\n",strlen1(p1));    printf("%d\n",strlen2(p2));    printf("%d\n",strlen2(p3));    printf("%s\n",strcpy(p1,p2));    printf("%s\n",strcat(p2,p3));    return 0;}

结果:

这里写图片描述

原创粉丝点击