首页 > 编程知识 正文

strcmp函数实现及详解文库,模拟调制系统详解

时间:2023-05-05 18:24:32 阅读:205169 作者:1895

strcmp -比较两个字符串

int strcmp(const char* str1,const char* str2)

int main(){        char* p1 = "abcdef";//6        char* p2 = "sqwer";//5        int ret = strcmp(p1, p2);//对应字符 分别比较ASCII码值        printf("%dn", ret);//-1        return 0;} 标准规定: 第一个字符串大于第二个字符串 则返回大于0的数字 第一个字符串等于第二个字符串 则返回0 第一个字符串小于第二个字符串 则返回小于0的数组

 

模拟实现strcmp 迭代1: int my_strcmp(const char* str1, const char* str2){        assert(str1 &&str2);        //比较        while (*str1 == *str2)        {               if (*str1=='')               {                       return 0;//相等               }               str1++;               str2++;        }        if (*str1 > *str2)               return 1;//大于        else               return -1;//小于}int main(){        char* p1 = "abc";        char* p2 = "abcd";        int ret = my_strcmp(p1, p2);        printf("%dn", ret);//0} 迭代2:如果想要返回值不为1和-1,而是大于0和小于0的数: int my_strcmp(const char* str1, const char* str2){        assert(str1 &&str2);        //比较        while (*str1 == *str2)        {               if (*str1 == '')               {                       return 0;//相等               }               str1++;               str2++;        }        return(*str1 - *str2);}int main(){        char* p1 = "abc";        char* p2 = "abcd";        int ret = my_strcmp(p1, p2);        printf("%dn", ret);//0}

 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。