求c语言编程如果字符串1包含字符串2,返回1
编程string_search(charstr1[],charstr2[])如果字符串str1包含字符串str2,返回1,否则返回0...
编程string_search(char str1[],char str2[])如果字符串str1包含字符串str2,返回1,否则返回0
展开
2个回答
展开全部
如果可以利用库函数的话,就比较简单了:
#include <stdio.h>
#include <string.h>
int string_search(char str1[],char str2[])
{
char* ptr = strstr(str1, str2);//库函数,在串中查找 指定字符串的第一次出现,返回的char指针指向第一次出现的手位置,若没有,则返回NULL
if(ptr != NULL)
return 1;
else
return 0;
}
下面是字符串函数的链接,可以看一下
#include <stdio.h>
#include <string.h>
int string_search(char str1[],char str2[])
{
char* ptr = strstr(str1, str2);//库函数,在串中查找 指定字符串的第一次出现,返回的char指针指向第一次出现的手位置,若没有,则返回NULL
if(ptr != NULL)
return 1;
else
return 0;
}
下面是字符串函数的链接,可以看一下
参考资料: http://baike.baidu.com/view/1570652.htm
展开全部
估计不可以用库函数的,这就有点麻烦了,首先要搜查包含关系。
int string_search(char str1[], char str2[])
{
int i,j;
int len1,len2;
i=0;
while(str1[i++]!='\0')
{
len1=i;
}
i=0;
while(str2[i++]!='\0')
{
len2=i;
}
i=0;
while(i<=len1-len2)
{
j=0;
while(str1[i+j] == str2[j] && j<len2)
{
if(j == len2-1) return 1;
j++;
}
i++;
}
return 0;
}
经调式 是可以的
int string_search(char str1[], char str2[])
{
int i,j;
int len1,len2;
i=0;
while(str1[i++]!='\0')
{
len1=i;
}
i=0;
while(str2[i++]!='\0')
{
len2=i;
}
i=0;
while(i<=len1-len2)
{
j=0;
while(str1[i+j] == str2[j] && j<len2)
{
if(j == len2-1) return 1;
j++;
}
i++;
}
return 0;
}
经调式 是可以的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询