#include <stdio.h>
#define MAXLINE 1000
int getLine(char s[],int lim);
int strindex(char s[],char t[]);
int main(int argc, char *argv[])
{
char s[MAXLINE];
char t[]="hat";
int index;
while(getLine(s,MAXLINE)>0)
{
index=strindex(s,t);
if(index==-1)
printf("没有找到匹配的字符串");
else
printf("找到了!位置:%d\n",index);
}
return 0;
}
int getLine(char s[],int lim)
{
int i=0;
char c;
while(--lim>0&&(c=getchar())!=EOF&&c!='\n')
{
s[i++]=c;
}
if(c=='\n')
s[i++]='\n';
s[i]='\0';
return i;
}
int strindex(char s[],char t[])
{
int i,j,k,index;
index=-1;
for(i=0; s[i]!='\0'; i++)
{
for(j=i,k=0; t[k]!='\0'&&t[k]==s[j]; j++,k++)
;
if(t[k]=='\0'&&k>0)
{
index=i;
}
}
return index;
}
运行效果: