大家帮忙看个程序
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void main()
{
char s1[7]="thisis";
char s2[5]="is";
printf("%d\n",search(s1[],s2[]));
}
int search(char s1[],char s2[])
{
int i,j,len=strlen(s2);
while(s1[i])
{
for(j=0;j<len;j++)
{
if(s1[i+j]!=s2[j])
break;
}
if(j>=len)
return i;
else
i++;
}
return -1;
}
报错:error C2065: 'search' : undeclared identifier
error C2373: 'search' : redefinition; different type modifiers
[解决办法]
1.解决被报错的问题:在main()函数前面加上一句:int search(char s1[],char s2[]);
——函数使用前必须被声明,至于具体实现,可以放在任意位置。当然,如果你将search函数的整个实现也放在main前面了,那也可以免去声明部分。
2.main中调用search函数应该:printf("%d\n",search(s1,s2));
——search传入的是数组名