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;
}
- 下标法实现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;
}