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;
}
输出结果如下: