本题要求实现一个字符串查找的简单函数。
函数接口定义:
char *search( char *s, char *t );
函数search
在字符串s
中查找子串t
,返回子串t在s
中的首地址。若未找到,则返回NULL。
裁判测试程序样例:
#include <stdio.h>
#define MAXS 30
char *search(char *s, char *t);
void ReadString( char s[] ); /* 裁判提供,细节不表 */
int main()
{
char s[MAXS], t[MAXS], *pos;
ReadString(s);
ReadString(t);
pos = search(s, t);
if ( pos != NULL )
printf("%d\n", pos - s);
else
printf("-1\n");
return 0;
}
/* 你的代码将被嵌在这里 */
输入样例1:
The C Programming Language
ram
输出样例1:
10
输入样例2:
The C Programming Language
bored
输出样例2:
如果利用strstr函数解决此问题很简单,下面将写出定义的函数部分
char *search(char *s, char *t)
{
char *m; /**strstr函数能够在字符串中查找字串,如果能够找出的话,就返回此字串出现在查找字符串的首地址,没找的话,那就返回空指针**/
m = strstr(s,t);
return m;
}
欢迎大神们的指教,本人小白一个,刚刚开通博客不久,如果能有更好的方法,希望大神们的分享,感谢