天天看点

模拟实现strchr函数1.描述2.代码展示3.结果展示

1.描述

  1. const char * strchr ( const char * str, int character );

    char * strchr ( char * str, int character );

  2. 字符匹配函数,成功返回在str中的地址,失败返回NULL,\0也作为匹配的字符。
  3. 库函数缺乏安全检查,空指针会崩溃。
  4. 通过定义字符为Int型,通过比较ascii码来实现传入数据。

2.代码展示

#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
#include<string.h>
 char* mystrchr( char*str, int character) 
{
	 assert(str);
	while (*str)
	{
		if (*str == character)
			return str;
		++str;
	}
	if (*str == character)
		return str;
	return NULL;
}

void test4()
{
	char* ret;
	char arr1[] = "abcdef";
	//char *arr1 = NULL;
	int n1 ='\0';
	ret = strchr(arr1, n1);
	printf("%p %s\n", ret, ret);

	int n2 = '\0';
	char arr2[] = "abcdef";
	//char *arr2 = NULL;
	ret = mystrchr(arr2, n2);
	printf("%p %s\n", ret, ret);
}
int main()
{
	test4();
	system("pause");
	return 0;
}
           

3.结果展示

模拟实现strchr函数1.描述2.代码展示3.结果展示
模拟实现strchr函数1.描述2.代码展示3.结果展示
模拟实现strchr函数1.描述2.代码展示3.结果展示