C 库函数 - strcmp()
描述:
strcmp函数是用来比较字符串大小的。
我们给strcmp传2个字符串地址,strcmp会给我们一个int类型的返回值。
- 如果第1个更大,则返回大于0的值
- 如果第1个更小,则返回小于0的值
- 如果2个字符串一样大,则返回0
声明:
int strcmp ( const char * str1, const char * str2 );
代码实现:
#include <stdio.h>
#include <assert.h>
int My_strcmp(const char* str_1, const char* str_2)
{
assert(str_1 && str_2);
int i = 0;
while (*str_1 == *str_2)
{
//一样大,返回 0
//*str_1 == '\0'说明2个字符串均已到结尾
//且依然没有比较出大小
if (*str_1 == '\0')
{
return 0;
}
str_1++;
str_2++;
}
//大于,返回值 > 0
//小于,返回值 < 0
return (*str_1 - *str_2);
}
int main()
{
char string_1[] = "big";
char string_2[] = "small";
int ret = 0;
ret = My_strcmp(string_1, string_2);
//第一个小
if (ret < 0)
{
printf("%s < %s\n", string_1, string_2);
}
//一样大
else if (0 == ret)
{
printf("%s = %s\n", string_1, string_2);
}
//第二个小
else
{
printf("%s > %s\n", string_1, string_2);
}
return 0;
}