C语言 strrchr()函数

  • Post category:C

下面是关于C语言中strrchr()函数的详细讲解和使用攻略。

一. 概述

strrchr()函数用来查找给定字符串中最后一个出现某个字符的位置,返回该字符在字符串中的地址。这个函数传入两个参数,第一个参数是要查找的字符串,第二个参数是要查找的字符。

函数原型如下:

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

该函数返回值为一个指向搜索到的字符或NULL的指针。

二. 示例说明

下面我们通过两个例子来说明strrchr()函数的使用方法。

例子一:

#include <stdio.h>
#include <string.h>

int main(void) {

    char *str = "hello world";
    char c = 'o';

    char *p = strrchr(str, c); // 查找字符'o'在字符串中最后一次出现的位置

    if (p) { // 如果找到了,打印出该字符在字符串中最后一次出现的位置
        printf("The last '%c' found at position: %d\n", c, p - str + 1);
    } else { // 没有找到该字符
        printf("The last '%c' not found!\n", c);
    }

    return 0;
}

运行结果:

The last 'o' found at position: 8

在这个例子中,我们定义了一个字符串”hello world”和一个字符’o’,然后使用strrchr()函数查找字符’o’在字符串中最后一次出现的位置,最后打印出该字符在字符串中最后一次出现的位置。

例子二:

#include <stdio.h>
#include <string.h>

int main(void) {

    char *str = "This is a test string";
    char c = 's';

    char *p = strrchr(str, c); // 查找字符's'在字符串中最后一次出现的位置

    if (p) { // 如果找到了,打印出该字符在字符串中最后一次出现的位置
        printf("The last '%c' found at position: %d\n", c, p - str + 1);
    } else { // 没有找到该字符
        printf("The last '%c' not found!\n", c);
    }

    return 0;
}

运行结果:

The last 's' found at position: 18

在这个例子中,我们定义了一个字符串”This is a test string”和一个字符’s’,然后使用strrchr()函数查找字符’s’在字符串中最后一次出现的位置,最后打印出该字符在字符串中最后一次出现的位置。

三. 总结

以上就是关于C语言中strrchr()函数的使用方法和示例说明,希望对大家有所帮助。需要注意的是,strrchr()函数返回的是该字符在字符串中的地址,因此需要根据返回的地址计算该字符在字符串中的位置,特别是当字符串中有多个该字符时,可能需要遍历整个字符串找到所有该字符的位置。