检查字符串A是否出现在字符串B的末尾

时间:2014-06-05 10:07:04

标签: c string function

作为学习指针的练习的一部分,我尝试创建一个函数 将找到字符串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;
}

我不知道我搞砸了哪里。

1 个答案:

答案 0 :(得分:2)

我为你编写了一个快速函数,代码行少。多数民众赞成我的想法,如果你喜欢它,你可以使用它。我的目标是尽可能减少代码。实际上考虑这一行代码。

int strchk (char *str1, char *str2)
{
    if(!strcmp(&str1[strlen(str1) - strlen(str2)], str2)) return 1;
    return 0;
}