当前位置: 代码迷 >> 综合 >> c语言实现strcpy,strcat,strcmp的函数功能
  详细解决方案

c语言实现strcpy,strcat,strcmp的函数功能

热度:48   发布时间:2024-02-10 08:59:22.0

1.指针法实现strcpy(字符串复制的功能)
函数原型:char * strcpy(char *str1,const char *str2)

char * my_strcpy(char *str1,const char *str2)
{char *p=str1;assert(str1!=NULL && str2!=NULL);//断言while(*p){p++;str2++;}return str1;
}

2.指针法实现strcat(字符串连接的功能)
函数原型:char *strcat(char *dest, const char *src)

char * my _strcat(char *str1,const char *str2)
{char *p=str1;assert(str1!=NULL && str2!=NULL);//断言while(*p!='\0'){p++;}while(*p==*str2){p++;str2++;}return str1;
}
  1. 下标法实现strcmp(字符串比较)
    /*
    如果返回值小于 0,则表示 str1 小于 str2
    如果返回值大于 0,则表示 str1 大于 str2
    如果返回值等于 0,则表示 str1 等于 str2
    */
#include <stdio.h> 
#include <string.h>
#include <assert.h>
int my_strcmp(const char *str1,const char *str2)
{int  i=0;int  max_len=0;assert(str1!=NULL && str2!=NULL);max_len = strlen(str1)>=strlen(str2) ? strlen(str1) : strlen(str2);for(i=0;i<max_len+1;i++){if(str1[i]<str2[i]){return -1;	}else if(str1[i]>str2[i]){return 1;	}	}return 0;	
}
  相关解决方案