一、strrchr的注意事项
1、头文件为:<string.h>
2、函数声明为:char* strrchr(const char* str, int ch);
3、用于查找某个字符
4、如果找到,则返回指向该字符在字符串中最后一次出现的指针
5、如果找不到,则返回NULL
6、'\0'也在查找范围内
二、strrchr的模拟实现
#include <stdio.h>
#include <assert.h>
char* my_strrchr(const char* str, int ch)
{
assert(str);//用断言来判断str是否为空指针
const char* start = str;//保存起始地址
//找字符串末尾
while (*str)
{
str++;
}
//查找
while ((str - start > 0) && (*str != (char)ch))
{
str--;
}
if (*str == (char)ch)
{
return (char*)str;
}
else
{
return NULL;
}
}
int main()
{
char str[] = "Hello world!";
printf("%s", my_strrchr(str, 'o'));//结果为:orld!
return 0;
}
ps:若有不足,望指出
^_^十分感谢^_^