模拟实现strcmp

这次给大家介绍并模拟的是strcmp函数。

 

其实对于cplusplus网站上的解释我大多是看不懂的,自己的英语能力比较差,很多人说那你还看干啥,直接去百度,通俗易懂。我建议大家一定要去看一下http://www.cplusplus.com/这个网站对你不明白的函数的解释,原因有两点。一是因为他是一个官方网站,他对函数的描述和应用都是十分的规范的,不存在有人为的更改,你获得的信息的可靠性还是可以放心的。其次就是有的人在查询函数或者其他内容的时候会用到msdn,但是这个网站相对于msdn来说他会及时进行更新,计算机是一个发展的很快的行业,虽然函数并不会天天的更改 用法等等,但是有一天它更改了你能看到最新的也是很好的一件事情。但是这个网站就不能离线进行访问了。

 

这个就是百度通俗易懂的解释。

接下来就附上模仿这个函数的代码:

#define _CRT_SECURE_NO_WARNINGS 1

 

#include<stdio.h>

#include<assert.h>

#include<stdlib.h>

int my_strcmp(const char *msg, const char *det)

{

assert(msg || det);

while ((*msg != NULL) && (*det != NULL))

{

if (*msg > *det)

return 1;

if (*msg < *det)

return -1;

else

{

*msg++;

*det++;

}

}

if ((*msg == '\0') && (*det != '\0'))

{

return -1;

}

if ((*msg != '\0') && (*det == '\0'))

{

return 1;

}

return 0;

}

int main()

{

char *a = "asdxsf";

char *b = "asdxsfq";

int m = 0;

m = my_strcmp(a, b);

printf("%d", m);

system("pause");

 

}


 

当然我认为这个库函数本身就是让我十分难以理解的,感觉这个函数或多或少有点说不出来的bug。就比如abcdead,是ad大。暂时就按照库函数这么写吧,那天悟透了再说。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值