在 C 语言 中我们要在一个 字符串 中查找某一个 字符 ,我们可以使用 strchr 函数。如果我们要反向查找字符串中的字符,那么可以使用 strrchr 函数。
strrchr 函数会返回我们要搜索的字符在字符串中最后一次出现的位置。
char *strrchr(const char *str, int c);
参数 | 描述 |
---|---|
str | 要被检索的 C 字符串。 |
c | 要搜索的字符。以 int 形式传递,但是最终会转换回 char 形式。 |
该函数返回 str 中最后一次出现字符 c 的位置。如果未找到该值,则函数返回一个空指针。
使用 strrchr 函数,需要引入 string.h 头文件。
使用 strrchr() 函数,实现反向查找字符串字符
#include <stdio.h>
#include <string.h>
int main()
{
printf("嗨客网(www.haicoder.net)\n\n");
char str1[30] = "Hi,Hello,HaiCoder";
char ch = ',';
char* retCh = strrchr(str1, ch);
printf("retCh = %s\n", retCh);
return 0;
}
程序运行后,控制台输出如下:
我们首先定义了一个 字符数组 str1 和一个字符 ch,并赋值,接着,我们使用了 strrchr 函数在字符串 str1 中反向查找字符 ch,并将查找到的字符串赋值给变量 retCh。
我们可以看到,我们的字符数组 str1 有两个我们需要查找的字符 ‘,’,但我们的 strrchr 函数最终返回的是最后一个,而不是第一个。
使用 strrchr() 函数,实现反向查找字符串字符
#include <stdio.h>
#include <string.h>
int main()
{
printf("嗨客网(www.haicoder.net)\n\n");
char str1[30] = "Hello,HaiCoder";
char ch = 'b';
char* retCh = strrchr(str1, ch);
printf("retCh = %s\n", retCh);
return 0;
}
程序运行后,控制台输出如下:
我们首先定义了一个字符数组 str1 和一个字符 ch,并赋值,接着,我们使用了 strrchr 函数在字符串 str1 中反向查找字符 ch,因为,没有查找到字符 ch,因此,返回了 NULL。
在 C 语言中我们要在一个字符串中反向查找某一个字符 ,我们可以使用 strrchr 函数。strrchr 函数会返回我们要搜索的字符在字符串中最后一次出现的位置。