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

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

一,模拟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;

}


目录
相关文章
|
7月前
|
机器学习/深度学习 自然语言处理 语音技术
《探秘卷积神经网络:权重共享与局部连接的神奇力量》
卷积神经网络(CNN)中的权重共享和局部连接是其核心特性。权重共享通过同一卷积核在不同位置使用相同权重,减少参数量并提高泛化能力;局部连接则使每个神经元仅与输入的局部区域相连,专注于提取局部特征。两者相辅相成,显著降低计算复杂度,增强对空间结构的感知,使CNN在图像识别等领域表现出色。
455 8
|
存储 安全 Go
Golang 语言微服务的服务注册与发现组件 Consul
Golang 语言微服务的服务注册与发现组件 Consul
187 0
|
10月前
|
Java Linux API
Android SDK
【10月更文挑战第21天】
270 1
|
Java API Scala
【Flink】Flink Java 统计词频 开发
【1月更文挑战第26天】【Flink】Flink Java 统计词频 开发
|
人工智能 自然语言处理 云计算
软件开发的最新趋势和未来展望
软件开发领域正处于快速发展的阶段,不断涌现出新的技术和方法。从人工智能、云计算到低代码开发,这些趋势都在推动着软件开发的革新和创新。未来,随着技术的不断进步,我们可以期待更多令人激动的变革和机遇。无论是开发者还是业务,都应该保持敏锐的洞察力,及时采纳新技术,以适应不断变化的软件开发领域。
720 1
软件开发的最新趋势和未来展望
CorelDraw2023新版本安装详细图文教程
coreldraw作为一款知名的图形设计软件,拥有很多的忠实用户,对于一些新用户来说,对于软件了解不深,coreldraw是一款非常好用的设计软件,功能非常强大,它可应用于商标设计、标志制作、模型绘制、插图描画、排版及分色输出等领域,因此受到了不少设计师的青睐,但还有许多小白不了解,coco玛奇朵今天就给大家带来coreldraw是什么软件去哪里下载的分享。
1641 0
|
数据采集 算法 搜索推荐
# 【推荐系统入门到项目实践】(四):Baseline和Slope one算法
# 【推荐系统入门到项目实践】(四):Baseline和Slope one算法
# 【推荐系统入门到项目实践】(四):Baseline和Slope one算法
|
Web App开发 监控 网络协议
如何构建低延时的直播体验,让互动更实时?
传统的直播技术,已经不能满足对互动要求更高的直播要求,为此,2019年阿里云与淘宝直播共同推出超低延时直播服务RTS(Real-time Streaming),该方案基于WebRTC实现,采用UDP传输协议打造,实现可以承载大规模并发,端到端延时1秒内的低延时直播体验。由于RTS服务部署于阿里云CDN节点,复用CDN的节点和网络资源,在接入成本、节点覆盖、承载能力上实现了平衡
3655 57
如何构建低延时的直播体验,让互动更实时?
|
敏捷开发 弹性计算 人工智能
低代码让人人都是开发者,高校人才有了努力的新方向
随着中国信息技术飞速的发展,云计算、AI、5G等创新技术被更多地运用到教育手段变革、教育资源共享之中。阿里云提出的“飞天加速计划”也在后疫情时代,通过云力量帮助中国高校培养新一批创新人才。
4304 3
|
Unix Python Windows
Python3 notes
Python3 notes