模拟实现strcmp函数

来源:互联网 发布:php asp jsp 区别 编辑:程序博客网 时间:2024/04/29 17:14

strcmp为字符串比较函数,其函数原型为int strcmp( const char *string1, const char *string2 );
其功能是用来比较两个字符串,设这两个字符串为str1,str2,若str1=str2,则返回零;若str1< str2,则返回负数(一般为负1);若str1>str2,则返回正数(一般为正1)。
思路:把两个字符串的字符(ASCII码)一个一个进行比较,当两个字符串不一样时,直接减,当两个字符串相等时,直接输出0。
具体实现如下:

#include<stdio.h>#include<assert.h>int my_strcmp(const char *str1,const char *str2){    assert(*str1 != NULL);    assert(*str2 != NULL);    while(*str1 == *str2)    {        if(*str1 == '\0')        {            return 0;        }        str1++;        str2++;    }    if(*str1 > *str2)        return 1;    else        return -1;}int main(){    char *str1 = "abcd";    char *str2 = "abcdf";    int ret = my_strcmp(str1,str2);    printf("%d\n",ret);}

结果如下:
这里写图片描述

明天继续,加油!!!

0 0