Saturday, January 5, 2008

工作笔试(一) strstr()的简单实现

strstr(s1,s2)是一个经常用的函数,他的作用就是在字符串s1中寻找字符串s2如果找到了就返回指针,否则返回NULL。下面是这个函数的一个简单实现:

static const char* _strstr(const char* s1, const char* s2)
{
assert(s2 && s1);
if(S1 == '\0') return NULL;

const char* p=s1, *r=s2;
while(*p!='\0')
{
while(*p++==*r++ && *p!='\0' && *r!='\0');
if(*r=='\0')
return s1;
if(*p=='\0')
return NULL;
r=s2;
p=++s1;
}
return NULL;
}

0 comments: