今日所学(函数自我模拟)

简介: 今日所学(函数自我模拟)

一,模拟strlen函数


#include<stdio.h>

int my_strlen(char *ar)

{

   int i = 0;

   while (*ar != '\0')

   {

       i++;

       *ar++;

   }

   return i;

}

int main()

{

   char arr[] = "abcdefg";

       int x = my_strlen(arr);

       printf("%d", x);

       return 0;

}


二,模拟strcat


#include<stdio.h>

char* my_strcat(char* d, char* s)

{

   char* i = d;

   while (*d)

   {

       d++;

   }

   while (*d++ = *s++)

   {

       ;

   }

   return i;

}

int main()

{

   char arr1[20] = "1234567";

   char arr2[] = "hollo";

   my_strcat(arr1, arr2);

   printf("%s", arr1);

   return 0;

}


三,模拟strcpy


#include<stdio.h>

char* my_strcpy(char* d, const char* s)

{

   char* a = d;

   while (*d++ = *s++)

   {

       ;

   }

   return a;

}

int main()

{

   char arr1[] = "1234567";

   char arr2[] = "abcdefg";

   my_strcpy(arr1, arr2);

   printf("%s", arr1);

   return 0;

}


四,模拟strstr


#include<stdio.h>

char* my_strstr(char*d,char*s)

{

   char* s1 = d;

   char* s2 = s;

   char* c = d;

   while (*c )

   {

       s1 = c;

       s2 = s;

       while (*s1 && *s2 && (*s1 == *s2))

       {

           s1++;

           s2++;

       }

       if (*s2 == '\0')

       {

           return c;

       }

       c++;

   }

   return NULL;

}

int main()

{

   char arr1[] = "123456";

   char arr2[] = "56";

   char* p = my_strstr(arr1, arr2);

   if (p==NULL)

   {

       printf("找不到了");

   }

   else

   {

       printf("%s\n", p);

   }

   return 0;

}


目录
相关文章
|
3月前
|
SQL 算法 架构师
【软件设计师备考 专题 】程序设计评审的重要性和方法
【软件设计师备考 专题 】程序设计评审的重要性和方法
113 0
|
3月前
|
存储 算法 Python
学习编程是一个逐步积累的过程
【4月更文挑战第30天】学习编程是一个逐步积累的过程
27 2
|
设计模式 算法 开发工具
软件设计师总结-含括学习方法和学习过程,可参考(上)
软件设计师总结-含括学习方法和学习过程,可参考(上)
|
设计模式 算法 搜索推荐
软件设计师总结-含括学习方法和学习过程,可参考(下)
软件设计师总结-含括学习方法和学习过程,可参考(下)
|
安全 测试技术
软件测试怎么学?这些学习软件测试的方法你肯定能用上
软件测试是保障软件质量的重要环节,对于软件开发过程中的每个阶段都有至关重要的作用。如果想从事软件测试行业,或者是提升自己的测试技能,那么软件测试该怎么学? 下面介绍一些学习软件测试的方法。
140 0
|
程序员
编程基本功:找到问题的合理解释,才算解决问题
编程基本功:找到问题的合理解释,才算解决问题
77 0
|
弹性计算 Linux 网络安全
学习过程中的Q&A
macbook以及linux的操作
88 0
|
测试技术
软件测试面试题:软件测试的过程的V模型,说出它的缺点?
软件测试面试题:软件测试的过程的V模型,说出它的缺点?
173 0
|
机器学习/深度学习 算法 数据挖掘
|
算法
算法学习之路|不容易(模拟)
事情是这样的——HDU有个网名叫做8006的男性同学,结交网友无数,最近该同学玩起了浪漫,同时给n个网友每人写了一封信,这都没什么,要命的是,他竟然把所有的信都装错了信封!注意了,是全部装错哟!
1142 0