编写代码实现strpbrk()函数。

自己动手编写代码实现strpbrk()函数。strpbrk()函数是干什么的呢?
strpbrk()函数解释如下
strpbrk是在源字符串(s1)中找出最先含有搜索字符串(s2)中任一字符的位置并返回,若找不到则返回空指针。
返回s1中第一个满足条件的字符的指针,如果没有匹配字符则返回空指针NULL。

题目要求
请编写一个函数,它在一个字符串中进行搜索,查找所有在一个给定字符集合中出现的字符。这个函数的原型应该如下:
char *find_char(char const *source,char const *chars);

实现方式如下:

char const *find_char(char const *source,char const *chars)
{
    char const *stringChars  = NULL;//存储我们要查找的字符串
    if(source == NULL || chars ==NULL)
    {
        return NULL;
    }
    while(*source!='\0')
    {
        stringChars = chars;//始终将stringChars初始化为chars
        while(*stringChars != '\0')
        {
            if(*source==*stringChars)
            {
                return (char *)source;
            }
            stringChars++;
        }
        source++;
    }
}

测试:

#include<stdio.h>

int main()
{
    char *s1="ABCDEF";
    char *s2="HRBFG";
    char const *p;
    p=find_char(s1,s2);
    if(p)
    {
        printf("%s\n",p);
    }
    else
    {
        printf("Not Found!\n");
    }
    return 0;
}

输出结果:

BCDEF

猜你喜欢

转载自blog.csdn.net/fan_xingwang/article/details/79236055