模拟实现strchr

今天 模拟实现的是strchr这个库函数,还是首先上来简单介绍一下这个函数是用来做什么的。

先看看c++官网的正规介绍

 

看不懂的话可以看一下百度给的简单通俗易懂的解释

 

其实就是strstr是在字符串中寻找字符串,而strchr是在字符串中寻找某一个字符。所以说这个的难度相对于strstr来说简单了很多。

 

#define _CRT_SECURE_NO_WARNINGS 1

 

#include<stdio.h>

#include<stdlib.h>

char *my_strchr(const char *msg, char dest)

{

char *m = NULL;

while (*msg != NULL)

{

if (*msg == dest)

{

return (char *)msg;

}

*msg++;

}

return NULL;

}

int main()

{

char *a = "abcderf";

char b = 'e';

char *c = NULL;

c = my_strchr(a, b);

printf("%s", c);

system("pause");

}

 


还是要记得const char *msg不能直接将msg赋值给新创建的char类型中,并且dest和msg不能直接说这两个相等,dest是字符类型,而msg是指针类型,所以判断两个相等的时候是*msg == dest

这个相对于strstr难度还是降低了很多。

程序运行结果为

 

 

 还是在编写代码的规范性上有很大的欠缺。尤其是对程序中变量的命名以及对函数的命名上还是需要自己的不断提升,不断的读取他人的优秀代码来进行一定的学习。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值