思路:从字符串s的末尾开始往前查找,找到第一个与字符串t相匹配的子串,返回该子串在s中的位置。

具体实现:

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

int strrindex(char s[], char t[]) {
    int slen = strlen(s);
    int tlen = strlen(t);
    int i, j, k;
    for (i = slen - tlen; i >= 0; i--) {
        for (j = i, k = 0; t[k] != '\0' && s[j] == t[k]; j++, k++);
        if (k > 0 && t[k] == '\0') {
            return i;
        }
    }
    return -1;
}

int main() {
    char s[100], t[100];
    fgets(s, 100, stdin);
    fgets(t, 100, stdin);
    int pos = strrindex(s, t);
    printf("%d\n", pos);
    return 0;
}
C语言实现字符串查找最后出现位置函数 - strrindex

原文地址: https://www.cveoy.top/t/topic/o0fm 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录