子串定位运算是字符串的常用运算之一。
1. #include<stdio.h>
2. #include<string.h>
3. #define MAXN 100+10
4. char* substr(char sub[],char s[],int pos,int len)
5. { //取字串,从主串s的第pos个位置开始,取连续len个字符复制到sub
6. int i;
7. for(i=0;i<len;i++)
8. sub[i]=s[pos+i];
9. sub[i]='\0';
10. }
11. main()
12. {
13. char a[MAXN],b[MAXN],sub[MAXN];
14. int n,m,up,i;
15. gets(a);gets(b);
16. n=strlen(a);
17. m=strlen(b);
18. up=n-m+1;
19. for(i=0;i<=up;i++)
20. {
21. substr(sub,a,i,m)
22. if(strcmp(sub,b)==0) break;
23. }
24. if(i>up) printf("0");
25. slse
26. printf("%d",i);
27. return 0;
28. }