#include #include #include // 比较两个字符串,如果 s1 > s2,返回 1;如果 s1 < s2,返回 -1;如果 s1 == s2,返回 0 int cmp(const char *s1, const char *s2) { while (*s1 && *s2) { if (*s1 > *s2) // 当前位置 *s1 > *s2 return 1; else if (*s1 < *s2) // 当前位置 *s1 < *s2 return -1; else // *s1 == *s2 { s1++; // s1 指向下一个字符 s2++; // s2 指向下一个字符 } } if (*s1) // *s1 还有字符,*s2 没有字符 return 1; if (*s2) // *s2 还有字符,*s1 没有字符 return -1; return 0; // *s1 == *s2,返回相等 } int main() { char *p = "abc"; char *q = "abcd"; printf("%d\n", cmp(p, q)); return 0; }