int strcmp(const char *s1, const char *s2) { int i; for (i = 0; s1[i] == s2[i]; i++) if (s1[i] == '\0') return 0; return s1[i] - s2[i]; } int strncmp(const char *s1, const char *s2, unsigned long n) { for (; n > 0; s1++, s2++, --n) if (*s1 != *s2) return ((*(unsigned char *)s1 < *(unsigned char *)s2) ? -1 : 1); else if (*s1 == '\0') return 0; return 0; }