面试题isSubstr(a,b)试做

本文分享了一个简单的子串查找函数实现,该函数用于判断一个字符串是否为另一个字符串的子串。作者在20分钟内完成了从编写到调试的全过程,并通过示例验证了其正确性。

新浪微博的@文艺复兴记 贴了个面试题,难住了一位arm Linux 10年经验的人(上海年薪36w),本来觉得做库函数实现又难又琐碎还没成就感,但这个貌似比较简单,于是试做了下,20min写加调试通过(codeblocks),献丑了。

#include <stdio.h>
#include <stdlib.h>

int isSubStr(char *target, char *source)
{
    char *pBase = source;
    int cnt;
    while (*pBase)//not end of str
    {
        cnt=0;//clear tmp inner cursor
        while (*(target+cnt) && *(pBase+cnt))//not end of both str
        {
            if (*(target+cnt) != *(pBase+cnt))
                break;//do not use continue
            cnt++;
        }
        if ('\0' == *(target+cnt))//bingo!
            return 0;
        pBase++;
    }
    return 1;
}
int main()
{
    int res = isSubStr("eeewh", "lwhplps");
    printf("res = %d\n", res);
    return 0;
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值