實驗10 指標進階 程式三
阿新 • • 發佈:2018-12-14
#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; }