c++编程
编写一个程序,求字符串s1中s2的位置,若s1包含s2返回s2在s1中第一次出现的位置,否则返回-1。
这是字符串比较,可能有不同的算法,最容易理解的是一个笨办法:
从s1第一个字开始与s2的第一个字符比较,若相同,则用S1的第二个字符与S2的第二个字符比较,相符则继续比较,否则,从S1的第二个字符开始与S1和第一个字符比较...
#include<stdio.h> #include<string.h> int main() { char c[100]; char c1[50]; int n; printf("请输入母字符串:"); gets(c); printf("请输入要检索的字符串:"); gets(c1); n=strstr(c,c1)-c+1; if(strstr(c,c1)==NULL) printf("字符串%s在字符串%s中没有出现。\n",c1,c); else printf("字符串%s在字符串%s的第%d个位置出现。\n",c1,c,n); return 0; }