题目
编写函数 strindex(s, t),它返回字符串t在s中最右边出现的位置。如果s中不包含t,则返回-1。
题目分析
可以参考教材中寻找s中每行是否包含t的代码。
代码实现
#include <stdio.h>
int stringdex(char s[], char t[])
{
int i, j, k, m;
m = 0;
for (i = 0; s[i] != '\0'; i++)
{
for (j=i, k=0; t[k]!='\0' && s[j]==t[k]; j++, k++)
;
if (k > 0 && t[k] == '\0' && i > m )
m = i;
}
if (m > 0)
return m;
else
return -1;
}
int main()
{
char line[] = "abcdefghijklmnopqrstuvwxyz1234abcdefghijkl";
char pattern[] ="efgh";
printf("%d\n", stringdex(line, pattern));
}