编写一个函数实现c库函数strpbrk的功能,怎么实现

编写一个函数实现c库函数strpbrk的功能,如何实现?
那本经典c语言教程,后面的一道习题,我编写了一个
har*   any(char   *s1,char   *s2)
{
int   i,j;
for(i=0;i <sizeof(s2);i++)
{
for(j=0;j <sizeof(s1);j++)
{
if(s2[i]   ==   s1[j])
return   &s2[i];
}
}
return   NULL;
}
但最后的运行结果不对哈,郁闷,问题出在哪儿?

------解决方案--------------------
har* any(char *s1,char *s2)
{
int i,j;
for(i=0;i <strlen(s2);i++)
{
for(j=0;j <strlen(s1);j++)
{
if(s2[i] == s1[j])
return &s2[i];
}
}
return NULL;
}
strlen与sizeof区别应该注意一下,strlen是指字符串的长度不包括 '\n '
sizeof是指所占的字节数
另外我想问下 你的程序实现什么功能,如果是比较的话,我认为错了