今天 模拟实现的是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难度还是降低了很多。
程序运行结果为
还是在编写代码的规范性上有很大的欠缺。尤其是对程序中变量的命名以及对函数的命名上还是需要自己的不断提升,不断的读取他人的优秀代码来进行一定的学习。