用递归方法实现字符串判断B字符串是否在A字符串中
实现在这个方法有三种
一、坐标法
二、for or while 循环指指针法
三、递归判断法
第三个我在百度里没有找到,今天我想了半天,终于写出来了,和大家分享下,不到位的地方,请大家见谅!
#include<stdio.h>
#include<string.h>
char * cmp_str(char *denst, char * source)
{
char *dbak = denst;
char *sbak = source;
if ((dbak == NULL) ||(sbak == NULL))
{
return NULL;
}
if (*dbak=='\0')
{
printf("原字符到结尾了没找到");
return NULL;
}
int flag = 1;
while(*sbak!='\0')
{
if (*dbak++ != *sbak++)
{
flag = 0;
break;
}
}
if (flag == 1)
{
return denst;
}
else
{
cmp_str(dbak, source);
}
}
void main()
{
char *denst = "hello,world";
char *source = "world";
char *jieguo;
jieguo = cmp_str(denst, source);
if (jieguo!=NULL)
{
printf("\n 找到 %s",jieguo);
}
else
{
printf("\n 没找到");
}
}