华拓科技网
您的当前位置:首页C语言strcmp函数详解

C语言strcmp函数详解

来源:华拓科技网

strcmp函数介绍

strcmp函数使用

#include<stdio.h>
#include<string.h>
int main()
{
	char dest[20] = "abe";
	char src[20] = "abd";
	int ret=strcmp(dest, src);
	printf("%d\n", ret);
	return 0;
}

输出结果:

strcmp函数模拟实现

方法1

#include<stdio.h>
int my_strcmp(char* arr1, char* arr2)
{
	while (*arr1 == *arr2)//遍历arr1和arr2数组,判断字符串元素是否相同
	{
		if (*arr1 == '\0')//其中任意一个字符串来到'\0'说明两个字符串内容都相同,返回0
		{
			return 0;
		}
		arr1++;//将arr1与arr2加一找到下一个字符进行比较
		arr2++;
	}
	if (*arr1 > *arr2)//判断元素大小
	{
		return 1;
	}
	else
	{
		return 0;
	}
}
int main()
{
	char arr1[20] = "abf";
	char arr2[20] = "abd";
	int ret = my_strcmp(arr1, arr2);
	printf("%d\n", ret);
	return 0;
}

方法2

#include<stdio.h>
int my_strcmp(char* arr1, char*arr2)
{
	while (*arr1 == *arr2)//遍历arr1和arr2数组,判断字符串元素是否相同
	{
		if (*arr1 == '\0')//其中任意一个字符串来到'\0'说明两个字符串内容都相同,返回0
		{
			return 0;
		}
		arr1++;//将arr1与arr2加一找到下一个字符进行比较
		arr2++;
	}
	return *arr1 - *arr2;//若字符串元素出现不同,则返回两元素相减的值
}
int main()
{
	char arr1[20] = "abf";
	char arr2[20] = "abd";
	int ret = my_strcmp(arr1, arr2); 
	printf("%d\n", ret);
	return 0;
}

因篇幅问题不能全部显示,请点此查看更多更全内容