#include <string.h>
char *strchr(const char *s, int c)
用来找出参数s字符串中第一个出现的参数c地址,然后将该字符出现的地址返回
char *strrchr(const char *s, int c)
用来找出参数s字符串中最后一个出现的参数c地址,然后将该字符出现的地址返回
第二个参数是int类型?这个是历史原因,很久以前C语言是没有函数原型的,差不多就是函数声明只有名字没有参数,并且无论什么整数类型的传递到函数之前都会自动转换成int,也就是说char, short之类的都会转换成int,于是就定义成int。现在的C语言已经不必这样了,但是为了兼容性,这个带int函数的原型就保留了下来
函数实现:
char *strchr(const char *s, int c)
{
while(*s!='\0' && *s!=(char)c)
{
++s;
}
return *s==c?s:NULL;
}
char *strrchr(const char *s, int c)
{
char *p = (char *)s;
while(*s)
s++;
while(s--!=p && *s!=(char)c)
if(*s == (char)c)
return((char *)s);
return(NULL);
}