主题:[讨论]奇怪的问题请大家帮下忙 感谢啊
#include<iostream>
using namespace std;
int index(char *s,char *t)
{
int i=0;
int j=0;
while(s[i]!='\0')
{
if(s[i]==t[j])
{
i++;
j++;
}
else
{
i++;
j=0;
continue;
}
if(t[j]=='\0')
return i-j;
}
return -1;
}
void main()
{
char a[]="abcdefg"; //这行写成这样运行没错, 如果把char a[]="abceddefg"改为这样, 运行时就出错!!这什么原因啊 请大家帮帮忙啊
char b[]="de";
int i=index(a,b);
if(i==-1)
throw "无匹配子集";
cout<<"在a["<<i<<"]处开始找到b"<<endl;
}
using namespace std;
int index(char *s,char *t)
{
int i=0;
int j=0;
while(s[i]!='\0')
{
if(s[i]==t[j])
{
i++;
j++;
}
else
{
i++;
j=0;
continue;
}
if(t[j]=='\0')
return i-j;
}
return -1;
}
void main()
{
char a[]="abcdefg"; //这行写成这样运行没错, 如果把char a[]="abceddefg"改为这样, 运行时就出错!!这什么原因啊 请大家帮帮忙啊
char b[]="de";
int i=index(a,b);
if(i==-1)
throw "无匹配子集";
cout<<"在a["<<i<<"]处开始找到b"<<endl;
}