用C语言实现:【问题描述】 编写一个函数strrindex(s,t),用于返回字符串t在字符串s中最右边出现的位置.该位置从0开始计数,如果s中不含有t,那么返回-1;在你编写的程序中,使用strrindex(s,t)函数,输入t,s,输出t在s最右边的位置. 【输入形式】 控制台分行输入字符串s,t. 【输出形式】 控制台输出一个整数,是t在s最右边出现的位置. 【样例输入】 The strdup() function new returns a pointer to a new string new 【样例输出】 49 【样例说明】 输入的第一行为字符串s,第二行为字符串t="new".t在s中出现过两次,其中在最右边出现的位置中"new"的第一个字符'n'在s中所在的位置为49.
时间: 2024-04-09 19:28:07 浏览: 69
以下是使用C语言实现的函数strrindex(s,t)的代码:
```c
#include <stdio.h>
#include <string.h>
int strrindex(char s[], char t[]) {
int i, j, k;
int lastIndex = -1;
for (i = 0; s[i] != '\0'; i++) {
j = i;
k = 0;
while (t[k] != '\0' && s[j] == t[k]) {
j++;
k++;
}
if (t[k] == '\0') {
lastIndex = i;
}
}
return lastIndex;
}
int main() {
char s[100];
char t[100];
int result;
printf("请输入字符串s:");
fgets(s, sizeof(s), stdin);
printf("请输入字符串t:");
fgets(t, sizeof(t), stdin);
// 移除换行符
s[strcspn(s, "\n")] = '\0';
t[strcspn(t, "\n")] = '\0';
result = strrindex(s, t);
printf("%d\n", result);
return 0;
}
```
你可以将以上代码保存为一个.c文件,然后在命令行中编译和运行该文件。在控制台中按照提示输入字符串s和t,程序将输出t在s最右边出现的位置。
注意:该代码实现的是最右边出现的位置,从0开始计数。如果t在s中不出现,则返回-1。
阅读全文