模拟实现strcmp函数

来源:互联网 发布:亲情 缺失 知乎 编辑:程序博客网 时间:2024/05/15 12:59

strcmp函数是进行两字符串的比较,
若s1=s2,返回0,
若s1>s2,返回-1,
若s1>s2,返回1。
即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇’\0’为止。

代码如下:

int my_strcmp(const char *str1,const char *str2){    assert(str1);    assert(str2);    int ret = 0;    while (!(ret=(*str1 - *str2)) && *str2)    {        str1++;        str2++;    }    if (ret < 0)        ret = -1;    else if (ret>0)        ret = 1;    return ret;}

测试用例:

int main(){    char str1[] = "abcdef";    char str2[] = "abcdef";    int res = my_strcmp(str1, str2);    printf("%d\n", res);    return 0;}
原创粉丝点击