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