本题要求实现一个字符串查找的简单函数
**方法一**:
char *search(char *s, char *t){
int i,j,flag=0;
i=j=0;
char *p;
while(t[j]!='\0'&&s[i]!='\0'){ //循环结束的条件
if(s[i]==t[j]&&flag==0){ //第一次找到第一个与s[]相同的字符
flag=1;
p=&s[i]; //p指向子串t在s中的首地址
j++;
}
else if(flag==1&&s[i]==t[j])
j++;
else{
flag=0;
j=0;
}
i++;
}
if(flag==0||(t[j]!='\0'&&s[i]=='\0')) //没有找到子串t;
return 0;
return p;
}
**方法二**:
#include <string.h>
char *search(char *s, char *t){
char *p=NULL;
int i,j,k=0,lens,lent;
lens = strlen(s);
lent = strlen(t);
for(i=0;i<lens;i++){
j=i;
while(s[j]==t[k]){
k++;
j++;
}
if(k>=lent){ // k>=lent 才能满足 长度超过题面MAXS, t在结尾处 这个条件
p=&s[i];
return p;
}
k=0;
}
return p;
}