字符串截取以及对比问题,望指正!
编写一个函数string_search(char str1[],char str2[]),如果字符串str1包含字符串str2,就返回1,否则返回0.我的想法是这样的:从str1的第一个字符开始和str2的首字符比较,如果相同,则从str1里面截取和str2相同个数字符的一段字符串c与str2作比较,如果完全一样就返回1;如果到最后能截取和str2相同长度的字符串还没有找到和str2相同的,那这之后的就不用对比了,因为不够长了。
代码如下:
#include<stdio.h>
#include<string.h>
int string_search(char str1[],char str2[])
{
int i,j,k,m,n;
char c[20];
m=strlen(str1);
n=strlen(str2);
for(i=0;i<m-n;i++)
if(str1[i]==str2[0])
{
for(k=0;k<n;k++) c[k]=str1[i+k];
c[n]='\0';
if(strcmp(str2,c)==0)
return 1;
}
return 0;
}
void main()
{
char str1[20],str2[20];
gets(str1);
gets(str2);
printf("%d\n"string_search(str1,str2));
}
但是一直都编译不通过,不知道问题出在哪里,希望大家帮忙看看,谢谢!
[ 本帖最后由 wjfko 于 2012-2-28 12:10 编辑 ]