C语言strend的问题,大家帮忙看下
strend() 如果字符串t出现在字符串s的尾部,该函数返回0,否则返回1.我的实现方法是:
#include <stdio.h>
#include <string.h>
int strend_book(char *s,char *t);
int strend(char *s,char *t)
{
while(*s!=*t)
s++;
while(*s++==*t++);
if(*t=='\0')
return 1;
else
return 0;
}
书中的标准答案是:
int strend_book(char *s,char *t)
{ char *bs=s;
char *bt=t;
while(*s++);
while(*t++);
while(*s==*t)
{
if(t==bt||s==bs)
break;
s--;
t--;
}
if(*s==*t&&t==bt&&*s!='\0')
return 1;
else
return 0;
}
我的算法当后存在一点问题,出现在尾部返回1,但如果不出现在尾部我的系统就会报错,请大家帮我指正一下,谢谢!