strcmp 字符串比较
-
第一个字符串大于第二个字符串,返回值大于0。
-
第一个字符串等于第二个字符串,返回值等于0。
-
第三个字符串小于第二个字符串,返回值小于0。
-
字符串的比较是逐个字符依次比较,通过比较ascll码值,如果不等直接返回,如果相等,比较下一个字符,直到一个字符串比没,这时候哪个字符串长,哪个字符串的就大。
-
函数实现
int my_strcmp(const char* str1, const char* str2) { while (*str1 && *str2) { if (*str1 > *str2) { return 1; } else if (*str1 < *str2) { return - 1; } else { str1++; str2++; } } if (*str1) { return 1; } else if (*str2) { return -1; } return 0; }
第一个while执行完成后,两个其中一个字符串已经比完了,这时就判断是哪个字符串先空的,谁先空谁小,一块空,那么就相等。