#include <stdio.h>
#include <assert.h>
//strcpy实现
char *my_strcpy(char *arr,char *p)
{
assert((arr != NULL) && (p != NULL)); //如果arr和p为空则终止程序
char *s = arr;
while(*p)
{
*arr++ = *p++;
}
*arr = '\0';
return s;
}
//strcat实现
char *my_strcat(char *arr,char *p)
{
assert((arr != NULL) && (p != NULL)); //如果arr和p为空则终止程序
char *s = arr;
while(*arr)
{
arr++;
}
while(*p)
{
*arr++ = *p++;
}
*arr = '\0';
return s;
}
//strcmp实现
int my_strcmp(char *arr,char *p)
{
assert((arr != NULL) && (p != NULL));
while(*arr || *p)
{
if(*arr > *p)
{
return 1;
}
else if(*arr < *p)
{
return -1;
}
else
{
arr ++;
p ++;
}
}
return 0;
}
int main()
{
//strcpy实现
char str1[100] = "123456";
char str2[100] = "oneStarLR";
printf("after strcpy is: %s\n",my_strcpy(str1,str2));
//strcat实现
char str3[100] = "I love you,";
char str4[100] = "LongRu!";
printf("after strcat is: %s\n",my_strcat(str3,str4));
//strcmp实现
char str5[100] = "c";
char str6[100] = "b";
printf("after strcmp is: %d\n",my_strcmp(str5,str6));
return 0;
}