天天看点

C语言:模拟实现strcmp函数的功能

模拟实现strcmp函数的功能

函数原型: int strcmp(const char *s1,const char * s2)

所在头文件:string.h

函数功能:用于比较两个字符串并根据比较结果返回整数。基本形式为strcmp(str1,str2),若str1=str2,则返回零;若str1<str2,则返回负数;若str1>str2,则返回正数。

模拟实现

#include <stdio.h>
#include<assert.h>
#include<Windows.h>
int my_strcmp( char* str1, char* str2)
{
	assert(str1);
	assert(str2);
	while (*str1 == *str2)
	{
		if (*str1 == '\0'||( *str2='\0'))
			return 0;
		str1++;
		str2++;
	}
	return *str1 - *str2;
}

int main()
{
	char str[32] = "bcdefgh";
	char buf[32] = "bcdefgh";
	char erc[32] = "abcdefg";
	char std[32] = "cdefghi";
	printf("%d\n", my_strcmp(str, buf));
	printf("%d\n", my_strcmp(str, erc));
	printf("%d\n", my_strcmp(str, std));
	system("pause");
	return 0;
}

           

运行截图

C语言:模拟实现strcmp函数的功能

继续阅读