c下的strcmp函数的参考代码mystrcmp

有时候一些固定的函数虽然头文件里有,直接调用就可以,但我们也需要了解他们的基本原理,简单的甚至自己可以尝试写一下。

就如同strcmp()函数,包含在头文件string.h里,我们可以写一个mystrcmp来代替。


我们可以看到,在子函数mystrcmp里实现了strcmp的功能,首先要知道传递的是字符串数组的首地址,也就是数组名。对字符数组首地址操作时,加1并不是向后移一个字节,而是两个字节,也就是指向str[1],同理整形数组就是移动4个字节,这样大家就能看懂子函数里的对地址操作了,从第一个到出现‘\0’结束。大家都知道,在字符型数组里,默认的最后一个元素后面会有一个‘\0’,以此来方面计算机知道输出到这个地方结束,否则后面会默认输出0。第20行是个for循环语句,从第一个开始,一直到str1和str2都等于‘\0’且i<MAX为止,这个判断语句很重要!大家一定要理解!尤其是*(str1+i)!=‘\0’ ||*(str2+i)=‘\0’    在for循环里从第一位开始比较,如果相同则继续,如果不相同则采用三目运算比较,大返回1,小返回-1。由此来实现比较功能。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值