不同的strcmp

Android libc中的strcmp

https://android.googlesource.com/platform/bootable/bootloader/legacy/+/donut-release/libc/strcmp.c

int strcmp(const char *a, const char *b)
{
  while(*a && *b) {
  if(*a++ != *b++) return 1;
  }
  if(*a || *b) return 1;
  return 0;
}

ios中libc中的strcmp

http://www.opensource.apple.com/source/Libc/Libc-262/ppc/gen/strcmp.c

int strcmp(const char *s1, const char *s2)
{
  for ( ; *s1 == *s2; s1++, s2++)
  if (*s1 == '\0')
  return 0;
  return ((*(unsigned char *)s1 < *(unsigned char *)s2) ? -1 : +1);
}

posted @ 2015-10-23 15:25  梦里风林  阅读(253)  评论(0编辑  收藏  举报