c和指针第六章第一题

/**
C和指针,第六章,第一题
查找一个个定的字符集中出现的字符。
基本想法:在source中,匹配chars字符串中任何字符的第一个字符。
*/

#include <stdio.h>
#include <stdlib.h>
char const *find_char(char const *source,char const *charz)
{
    int a = 0;
    char const *src = source;
    char string = *src;
    while(string!='\0')
    {
        char const *chars = charz;
        for(;*chars!='\0';)
        {
            if(*chars++!=string)continue;
            else{
              a = 1;
              break;
            }
        }
        if(a==1)
        {
            return src;
        }else{
            string = *++src;
        }
    }
    return NULL;
}
int main(void)
{
    char source[100];
    char chars[100];
    char const *src;
    printf("请输入一个源字符串:\n");
    gets(source);
    while(1)
    {
        printf("请输入一个搜索字符串:\n");
        gets(chars);
        src = find_char(source,chars);
        if(src==NULL)
        {
            printf("匹配失败!!:\n");
            continue;
        }
         printf("匹配成功!!:\n");
        printf("%c",*src);
        while(*++src!='\0')
        printf("%c",*src);
         printf("\n");
    }
    return 0;
}

posted on 2012-08-21 18:12  NewPanderKing  阅读(192)  评论(0编辑  收藏  举报

导航