C语言模拟实现库函数strcmp

【函数作用】:strcmp(s1,s2),比较字符串s1和s2。当s1<s2时,返回为负数(注意不是-1);当s1==s2时,返回值= 0;当s1>s2时,返回正数 (注意不是1)

【函数原型】:

【参考代码】:
#include<stdio.h>
#include<windows.h>
#include<assert.h>

int my_strcmp(const char *str1, const char *str2)
{
	assert(str1 != NULL);
	assert(str2 != NULL);
	while (*str1 == *str2)//一个一个字符比较,相等返回0
	{
		if (*str1 == '\0')
		{
			return 0;
		}
		str1++;
		str2++;
	}
	return *str1 - *str2;
}

int main()
{
	char *str1 = "abcdef";
	char *str2 = "abcdef";
	int ret = my_strcmp(str1, str2);
	if (0 == ret)
	{
		printf("str1=str2\n");
	}
	else if (ret > 0)
	{
		printf("str1>str2\n");
	}
	else
	{
		printf("str1<str2\n");
	}
	system("pause");
	return 0;
}

猜你喜欢

转载自blog.csdn.net/hansionz/article/details/80328915