求高手编写用指针函数strend , 功能是判 断字符串 s 是否是字符串 t 的子串, 如果是
求高手编写用指针函数strend,功能是判断字符串s是否是字符串t的子串,如果是则返回1,否则返回0,不要搜的一定要能运行,因为是新手所以用一些简单的函数啊,可以运行再追...
求高手编写用指针函数strend , 功能是判 断字符串 s 是否是字符串 t 的子串, 如果是则返回1 , 否则返回 0,不要搜的一定要能运行,因为是新手所以用一些简单的函数啊,可以运行再追加100
展开
1个回答
展开全部
bool strend(char *s, char*t)
{
if(!s||!t) return false;
//return strstr(s,t)!=NULL;//其实系统函数就有这个功能
//下面是自己写的
int iSLength = 0, iTLength = 0, i = 0, j = 0;
bool bRet = false;
iSLength=strlen(s);
iTLength=strlen(t);
if (iSLength<iTLength)
{
return false;
}
char *p = t;
for (i=0;i<iSLength;i++)
{
if (*s++==*p++)
{
j++;
if (j==iTLength)
{
bRet = true;
break;
}
}
else
{
j=0;
p = t;
}
if (!j&&iSLength-i<iTLength)
{
bRet = false;
break;
}
}
return bRet;
}
void main()
{
char *s = "abcde";
char *t = "cd";
bool ret = strend(s,t);
if (ret)
{
printf("yes\n");
}
else
{
printf("no\n");
}
}
{
if(!s||!t) return false;
//return strstr(s,t)!=NULL;//其实系统函数就有这个功能
//下面是自己写的
int iSLength = 0, iTLength = 0, i = 0, j = 0;
bool bRet = false;
iSLength=strlen(s);
iTLength=strlen(t);
if (iSLength<iTLength)
{
return false;
}
char *p = t;
for (i=0;i<iSLength;i++)
{
if (*s++==*p++)
{
j++;
if (j==iTLength)
{
bRet = true;
break;
}
}
else
{
j=0;
p = t;
}
if (!j&&iSLength-i<iTLength)
{
bRet = false;
break;
}
}
return bRet;
}
void main()
{
char *s = "abcde";
char *t = "cd";
bool ret = strend(s,t);
if (ret)
{
printf("yes\n");
}
else
{
printf("no\n");
}
}
追问
是C++吗
追答
是c,但是c++也可以直接用啊
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询