天天看点

C语言--模拟实现strcmp函数

模拟实现strcmp函数

比较两字符串身份是不是一样,即首元素地址是不是同一个字符串。

用 == 判断。

比较两个字符串内容是不是一样。用 strcmp 字符串比较函数,比较字典序。

strcmp(str1,str2)
 如果 str1>str2 就返回 大于0 的数。
 如果 str1<str2 就返回 小于0 的数。
 如果 str1=str2 就返回 0。
           
int my_strcmp(const char* str1, const char* str2) {
 assert(str1 != NULL && str2 != NULL);
 while (*str1 != '\0' && *str2 != '\0') {
  if (*str1 > * str2) {
   return 1;
  }
  else if (*str1 < *str2) {
   return -1;
  }
  else {
   str1++;
   str2++;
  }
 }//出while循环代表起码有一个遇到'\0'了,这时候再比一下
 if (*str1 > * str2) {
  return 1;
 }
 else if (*str1 < *str2) {
  return -1;
 }
 else {
  return 0;
 }
}
           

继续阅读