1、自定义函数(my_strlen)实现strlen函数的功能
2、自定义函数(my_strcpy)实现strcpy函数的功能
3、自定义函数(my_strcmp)实现strcmp函数的功能
4、自定义函数(my_strcat)实现strcat函数的功能
5、自定义函数(my_strstr)实现求src字符串中是否包含子串dest字符串
#include <stdio.h>
// 求字符串长度
int my_strlen(char *arr)
{
int sum = 0;
while (*arr)
{
sum++;
arr++;
}
return sum;
}
// 拷贝字符串
void my_strcpy(char *arr, char *brr)
{
while (*arr)
{
*brr = *arr;
brr++;
arr++;
}
*brr = '\0';
}
// 比较字符串
int my_strcmp(char *arr, char *brr)
{
while (*arr && (*arr == *brr))
{
arr++;
brr++;
}
return *arr - *brr;
}
// 查看字符串里是否包含子字符串
char *my_strstr(char *arr, char *brr)
{
if (!*brr)
{
return arr;
}
while (*arr)
{
if (*arr == *brr)
{
char *a = arr;
char *b = brr;
while (*b)
{
if (*a++ != *b++)
{
break;
}
}
if(!*b)
{
return arr;
}
}
arr++;
}
return NULL;
}
int main(int argc, char const *argv[])
{
char src[100] = {"0"};
char ret_src[100] = {"0"};
char dest[100] = {"0"};
printf("请输入一个字符串:");
gets(src);
// 求字符串长度
int retval_my_strlen = my_strlen(src);
printf("该字符串的长度是:%d\n\n", retval_my_strlen);
// 拷贝字符串
my_strcpy(src, ret_src);
printf("拷贝后新的字符串retsrc = %s\n\n", ret_src);
// 比较字符串
printf("请再输入一个字符串:");
char src1[100] = {"0"};
gets(src1);
int retval_my_srccmp = my_strcmp(src, src1);
printf("该字符串和原字符串比较得出:%d\n\n", retval_my_srccmp);
printf("请再输入一个字符串:");
gets(dest);
char *retval_my_strstr = my_strstr(src,dest);
printf("返回判断值:%s\n",retval_my_strstr);
return 0;
}
输出结果如下: