字符串查找并返回有关问题,多谢

字符串查找并返回问题,谢谢
若在字符串str中含有字符c(以首个出现为准),返回指向该字符的指针,否则返回NULL
这个函数能实现上面的需求吗?请帮忙看看,谢谢了
char *str_chr(const char *str,int c)
{
char *ret = (char *)&str;
unsigned len=0;

while ((*str++)!=c;
{
*ret++;
len++;
}
if(Len <= strlen(str))
return ret;
else
return NULL;
}
------解决方案--------------------
C:\Program Files\Microsoft Visual Studio\VC98\CRT\SRC\STRCHR.C
/***
*strchr.c - search a string for a given character
*
*       Copyright (c) 1985-1997, Microsoft Corporation. All rights reserved.
*
*Purpose:
*       defines strchr() - search a string for a character
*
*******************************************************************************/

#include <cruntime.h>
#include <string.h>

/***
*char *strchr(string, c) - search a string for a character
*
*Purpose:
*       Searches a string for a given character, which may be the
*       null character '\0'.
*
*Entry:
*       char *string - string to search in
*       char c - character to search for
*
*Exit:
*       returns pointer to the first occurence of c in string
*       returns NULL if c does not occur in string
*
*Exceptions:
*
*******************************************************************************/

char * __cdecl strchr (
        const char * string,
        int ch
        )
{
        while (*string && *string != (char)ch)
                string++;

        if (*string == (char)ch)
                return((char *)string);
        return(NULL);
}

------解决方案--------------------
引用:
您好,问您一个问题,这里有两个return,第一个如果执行了,第二个还会返回吗?
Quote: 引用:

C:\Program Files\Microsoft Visual Studio\VC98\CRT\SRC\STRCHR.C
/***
*strchr.c - search a string for a given character
*
*       Copyright (c) 1985-1997, Microsoft Corporation. All rights reserved.
*
*Purpose:
*       defines strchr() - search a string for a character
*
*******************************************************************************/

#include <cruntime.h>
#include <string.h>

/***
*char *strchr(string, c) - search a string for a character
*
*Purpose:
*       Searches a string for a given character, which may be the
*       null character '\0'.
*
*Entry:
*       char *string - string to search in
*       char c - character to search for
*
*Exit:
*       returns pointer to the first occurence of c in string
*       returns NULL if c does not occur in string
*
*Exceptions:
*
*******************************************************************************/

char * __cdecl strchr (
        const char * string,
        int ch
        )
{
        while (*string && *string != (char)ch)
                string++;

        if (*string == (char)ch)
                return((char *)string);
        return(NULL);
}


当然不会
------解决方案--------------------
C:\Program Files\Microsoft Visual Studio 10.0\VC\crt\src\intel\strchr.asm