作为学习指针的练习的一部分,我尝试创建一个函数
将找到字符串t
是否在字符串s
的末尾,并返回1表示true,0表示false表示。
但即使条件应该正确,我似乎也得到0。
这是我的代码:
int strend(char *s, char *t)
{
int flag = 0;
if (!s || !t)
return 0;
while(*s)
{
if (*s==*t){
s++;
t++;
flag = 1;
}
else{
flag = 0;
s++;
}
}
if (!*t) return flag;
else return 0;
}
int main()
{
char first[15] = "first";
char second[] ="t";
printf("strend : %d", strend(first,second));
return 0;
}
我不知道我搞砸了哪里。
答案 0 :(得分:2)
我为你编写了一个快速函数,代码行少。多数民众赞成我的想法,如果你喜欢它,你可以使用它。我的目标是尽可能减少代码。实际上考虑这一行代码。
int strchk (char *str1, char *str2)
{
if(!strcmp(&str1[strlen(str1) - strlen(str2)], str2)) return 1;
return 0;
}