关闭

【C语言】【面试题】【笔试题】模拟实现数据库中strcmp函数

70人阅读 评论(0) 收藏 举报
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>

int my_strcmp1(const char *dest,const char *src)//方法1
{
    assert(dest);
    assert(src);
    while (*dest==*src)
    {
        if (*dest == '\0')
        {
            return 0;
        }
        dest++;
        src++;
    }
    return *dest - *src;
}
int my_strcmp2(const char *dest, const char *src)//方法2
{
    int ret = 0;
    while (!(ret = (*(unsigned char*)dest - *(unsigned char *)src)) && *dest)
    {
        dest++;
        src++;
    }
    if (ret > 0)
        return 1;
    else if (ret < 0)
    return -1;
    else
    return (ret);
}

int main()
{
    char arr1[] = "abcd";
    char arr2[] = "abcde";
    int ret = my_strcmp2(arr1, arr2);
    printf("%d\n", ret);
    system("pause");
    return 0;
}


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:13884次
    • 积分:195
    • 等级:
    • 排名:千里之外
    • 原创:109篇
    • 转载:7篇
    • 译文:0篇
    • 评论:1条
    文章分类
    最新评论