主函数:
/**************主函数***************/
int main()
{
char str[100]="";
char dest[100]="";
printf("输入字符串str:");
gets(str);
printf("输入字符串dest:");
gets(dest);
printf("my_strlen(str) = %d\n",my_strlen(str));
int n=my_strcmp(str,dest);
if(n>0)
{
printf("str大\n");
}
else if(n<0)
{
printf("dest大\n");
}
else
{
printf("一样大\n");
}
my_strcat(str,dest);
printf("调用my_strcat后,str = %s, dest = %s\n",str,dest);
printf("调用my_strstr后的结果:%s\n",my_strstr(str,dest));
my_strcpy(str,dest);
printf("调用my_strcpy后,str = %s, dest = %s\n",str,dest);
return 0;
}
1> 自定义函数(my_strlen)实现strlen函数的功能
//自定义函数(my_strlen)实现strlen函数的功能
int my_strlen(const char *str)
{
if(*str=='\0')
{
return 0;
}
else
{
return 1+my_strlen(str+1);
}
}
2> 自定义函数(my_strcpy)实现strcpy函数的功能
//自定义函数(my_strcpy)实现strcpy函数的功能
void my_strcpy(char * str,const char * dest)
{
while (*str || *dest)
{
*str++=*dest++;
}
}
3> 自定义函数(my_strcmp)实现strcmo函数的功能
int my_strcmp(const char * str,const char * dest)
{
int diff=0;
while (diff==0)
{
diff=*str++ - *dest++;
}
return diff;
}
4> 自定义函数(my_strcat)实现strcat函数的功能
//自定义函数(my_strcat)实现strcat函数的功能
void my_strcat(char * str,const char * dest)
{
while (*dest)
{
if (*str=='\0' && *dest!='\0')
{
*str++=*dest++;
}
else
{
str++;
}
}
}
5> 自定义函数(my_strstr)实现strstr函数的功能
//自定义函数(my_strstr)实现求src字符串中第一次出现子串dest字符串的位置
char * my_strstr(const char * str,const char * dest)
{
char * p=NULL;
char * q=dest;
while (*str)
{
while (*str)
{
if(*str==*q)
{
p=str;
str++;
q++;
break;
}
str++;
}
while (*str)
{
if(*str==*q)
{
q++;
str++;
}
else
{
break;
}
}
if (*q=='\0')
{
return p;
}
q=dest;
}
return NULL;
}
结果: