实验10 指针进阶 程序三
#include <stdio.h> #include <string.h> char *search(char *s,char *t); int main() { char s[100],t[100],*p; gets(s); //输入第一个字符串 gets(t); //换行输入第二个字符串 p=search(s, t); //调用函数 if(p!=NULL) printf("%d\n",p-s); else printf("-1\n"); return 0; } char *search(char *s,char*t) //定义函数 { int i,j,k=0,S,T; char *p=NULL; S=strlen(s); T=strlen(t); for(i=0;i<S;i++) { j=i; //如果不用j代替i的话,会导致下面是s[i]的改变 while(s[j]==t[k]) { k++; j++; } if(k>=T) //当k>=T的时候,(其实等于t的时候就该停止了)即结束循环,将是s[i]代表的子字符串的首字母的地址赋给p { p=&s[i]; return p; } k=0;//将k重新归零,进行下一次循环 } return p; }