C 库函数 - strcmp()

 cpulspuls官方描述—<string.h>

描述:

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;
}

运行结果:

模拟实现【strcmp】函数_字符串