char *search(char *s, char t);
void ReadString( char s[] ); / 裁判提供,细节不表 */
int main()
{
char s[MAXS], t[MAXS], *pos;
ReadString(s);
ReadString(t);
pos = search(s, t);
if ( pos != NULL )
printf("%d\n", pos - s);
else
printf("-1\n");
return 0;
}
/* 你的代码将被嵌在这里 */
char *search( char *s, char *t )
{
int flag=-1;
for(int i=0;s[i]!='\0';i++)
{
if(t[i]==s[i])
{
for(int j=i+1;t[j]!='\0';j++)
{
if(t[j]!=s[j])
{
break;
flag=i;
}
}
}
}
if(flag==-1)
return NULL;
else
return s+flag;
}
有未定义的引用ReadString,你要去自己定义一个ReadString函数
看它的注释,本来ReadString应该是由裁判提供的,你自己不用写,
但是你自己编译的时候还是要写的,否则没法编译
void ReadString(char s[])
{
scanf("%s", s);
}
应该把:flag = i;放在break;前面,试试看能不能解决