标题: strrchr函数实现及简单使用 [打印本页]

作者: xiaojuan    时间: 2014-9-24 22:22
标题: strrchr函数实现及简单使用
本帖最后由 xiaojuan 于 2014-9-24 22:38 编辑

//:Vc++6.0  String strrchr函数
//功能:查找字符串s中最后一次出现字符c的位置
//参数:str 为目标字符串  ch 为要查找的字符
//返回值:str 为找到最后一个字符的地址
#include<stdio.h>

const char *strrchr(const char *str, int ch);

int main()
{
char str[] = "This is a sample string";
const char *pch;
pch = strrchr(str,'s');
printf("Last occurence of 's' found at %d\n",pch-str+1);
return 0;
}

const char * strrchr(const char *str, int ch)
{
if (str == NULL)
{
perror("str");
return NULL;
}

const char *temp = str;

while (*str++ != '\0');
str--;

while (str != temp) //和首地址比较
{
if (*str != (char)ch) //将ch数值强转为字符型
str--;
else
return str;
}

return NULL;

}

//在vc++6.0中的运行结果为:Last occurence of 's' found at 18






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1