您的位置:首页 > 健康 > 养生 > 产品代理推广方案_企业建站官网_10000个免费货源网站_网页免费制作网站

产品代理推广方案_企业建站官网_10000个免费货源网站_网页免费制作网站

2024/10/11 13:28:00 来源:https://blog.csdn.net/Xiaodao12345djs/article/details/142694058  浏览:    关键词:产品代理推广方案_企业建站官网_10000个免费货源网站_网页免费制作网站
产品代理推广方案_企业建站官网_10000个免费货源网站_网页免费制作网站

目录

一、模拟实现strlen

二、模拟实现strcpy

三、模拟实现strcmp

四、模拟实现strcat

五、模拟实现strstr

  • 模拟实现strlen
  • 模拟实现strcpy
  • 模拟实现strcmp
  • 模拟实现strcat
  • 模拟实现strstr

一、模拟实现strlen

  • strlen函数是用来求字符串长度的函数

#include <stdio.h>int my_strlen(const char* str)
{char* sp = str;while (*sp){sp++;}return sp-str;
}int main()
{char arr[] = "hello";int ch = my_strlen(arr);printf("%d\n", ch);return 0;
}

二、模拟实现strcpy

  • strcpy是用来实现字符串拷贝的
#include <stdio.h>
#include <assert.h>char* my_strcpy(char* str1, const char* str2)
{assert(str1 && str2);char* cp = str1;while (*str2){*str1 = *str2;str1++;str2++;}return cp;
}int main()
{char arr1[20] = {0};char arr2[] = "hello world";my_strcpy(arr1, arr2);printf("%s\n", arr1);printf("%s\n", arr2);return 0;
}

三、模拟实现strcmp

  • strcmp是用来实现比较两个字符串大小的函数
#include <stdio.h>
#include <assert.h>int my_strcmp(const char* str1, const char* str2)
{assert(str1, str2);while (*str1 == *str2){if (*str1 == '\0'){return 0;}str1++;str2++;}return *str1 - *str2;
}int main()
{char arr1[] = "abcdef";char arr2[] = "abzd";//比较两个字符串大小int ch = my_strcmp(arr1, arr2);if (ch < 0){printf("arr1小于arr2\n");}else if (ch == 0){printf("arr1等于arr2\n");}elseprintf("arr1大于arr2\n");return 0;
}

四、模拟实现strcat

  • strcat是实现在一个字符串后追加一个字符串的函数
#include <stdio.h>char* my_strcat(char* str1, const char* str2)
{char* cp = str1;while (*str1){str1++;}while (*str2){*str1 = *str2;str1++;str2++;}return cp;
}int main()
{char arr1[20] = "hello ";char arr2[] = "world!";my_strcat(arr1, arr2);printf("%s\n", arr1);return 0;
}

五、模拟实现strstr

  • strstr是用来实现字符串查找的
#include <stdio.h>char* my_strstr(const char* str1, const char* str2)
{char* s1 = str1;char* s2 = str2;char* cp = str1;while (*cp){s1 = cp;s2 = str2;while (*s1 != '\0' && *s2 != '\0' && *s1 == *s2){s1++;s2++;}if (*s2 == '\0'){return cp;}elsecp++;}return NULL;
}int main()
{char arr1[20] = "abbbcdef";char arr2[20] = "bbc";char* ch = my_strstr(arr1, arr2);printf("%s", ch);return 0;
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com