C strrchr() 语法
strrchr() 是 C 语言 <string.h> 标准库的一个函数,它用于在字符串中查找某个字符 “最后一次” 出现的位置。
语法:
strrchr(str, ch)说明:
strrchr() 函数接收以下 2 个参数。
str(const char*):是一个字符串的指针。ch(int):你要查找的字符。
strrchr(str, ch) 表示在 str 中查找 ch。如果能找到,则返回最后一个匹配项的指针(即内存地址);如果未能找到匹配项,则返回 NULL。
提示:
- strrchr 是 “string right char” 的缩写。
- strchr() 函数是在字符串中某个字符 “第一次” 出现的指针,而 strrchr() 函数是在字符串中某个字符 “最后一次” 出现的指针。
C strrchr() 摘要
| 使用频率 | 高 |
|---|---|
| 修改字符串 | 否 |
| 官方文档 | 查看 |
C strrchr() 示例
接下来,我们通过一个简单的例子来讲解一下 C strrchr() 函数是如何使用的。
示例:strrchr() 基本用法
#include <stdio.h>
#include <string.h>
int main(void)
{
char str[] = "JavaScript";
char ch = 'a';
// 在 str 中查找 ch
char* p = strrchr(str, ch);
// 如果找到匹配项,则打印匹配项位置
if (p != NULL) {
printf("匹配项位置:%td", p - str);
} else {
printf("未能找到匹配项");
}
return 0;
}运行结果如下。
匹配项位置:3分析:
虽然 "JavaScript" 中包含了 2 个 'a' 字符,但 strrchr() 函数只会返回 'a' 最后一次出现的指针。然后我们使用 “'a' 最后一次出现的指针” 减去 “整个字符串的指针”,就可以得到该字符在字符串中最后一次出现的下标位置了(下标从 0 开始)。
