C和指针c6-1

#include<stdio.h>
#include<stdlib.h>

char *find_char(char const *source_str, char const *desc_str);

int main(void)
{
    char *source_str = "ABCDEF";
    char *desc_str = "MMD";
    
    char *c = find_char(source_str, desc_str);
    if(c != NULL)
    {
        printf("%c\n", *c);
    }
    else
    {
        printf("IS NULL!\n");    
    }
    
    
    return EXIT_SUCCESS;
}

char *find_char(char const *source_str, char const *desc_str)
{
    if( (source_str == NULL) || (desc_str == NULL) )
    {
        return NULL;
    }
    
    int i = 0;
    while(*desc_str != '\0')
    {
        while(*source_str != '\0')
        {
            if(*desc_str == *source_str)
            {
                char c = *source_str;
                char *d = &c;
                return d;
            }
            source_str++;
            i++;
        }
        desc_str++;
        source_str -= i;//将source_str的指针置位 
        i = 0;
    }
    
    return NULL;
}

 

posted @ 2014-06-29 10:28  yshy  阅读(220)  评论(0编辑  收藏  举报