1. 程式人生 > >實驗10 指標進階 程式三

實驗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; }