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

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

c下的strcmp函数的参考代码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。由此来实现比较功能。

相关文章:

  • 2021-11-10
  • 2021-11-12
  • 2021-07-07
  • 2021-09-30
  • 2022-12-23
  • 2021-05-31
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-06-30
  • 2021-12-05
  • 2022-12-23
相关资源
相似解决方案