您的位置:首页 > 职场人生

H面试程序(11): 判断字符串是否包含子串问题

2013-08-20 20:18 330 查看
题目描述:

如字符串str1为''abcdef'''

字符串str2为'' bc'';

则字符串str1中含有字串str2;

#include <stdio.h>
#include<malloc.h>
#include<memory.h>
#include<assert.h>

int Whether_Is_Substring(char*  str1, char * str2) //这个函数只是找到了str1中第一个和字串相同字串
{                                                  //还可以设立一个计数器统计str1中一共包含有几个相同字串
assert(str1);
assert(str2);
int i = 0; int j  = 0;

while(str1[i] != '\0')
{
while(str1[i] ==str2[j])  //因为是字串问题,必须连续地比
{
i++;
j++;
}
if(str2[j] =='\0') //当字串到达'\0'时,就说明字符串str1中含有字符串str2
return 1;
else            //如果没有到达'\0',str2就要重新从第1个字符比起,
j = 0;
i++;
}
return 0;

}
int main()
{
char str1[] ="afdasfg";
char str2[] ="fd";

int a = Whether_Is_Substring(str1, str2); //1代表str1包含str2;
if(0 == a)
printf("字符串str1中不包含字符串str2\n");
else
printf("字符串str1中包含字符串str2\n");

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: