strcmp的使用与模拟实现

int strcmp ( const char * str1, const char * str2 );

目录

标准规定

strcmp的使用

strcmp的模拟实现

标准规定

1、第一个字符串大于第二个字符串,则返回大于0的数字

2、第一个字符串等于第二个字符串,则返回0

3、第一个字符串小于第二个字符串,则返回小于0的数字

strcmp的使用

int main()
{
	char arr[] = "hello";
	char str[] = "word";
	if (strcmp(arr, str) == 0)
	{
		printf("arr = str\n");
	}
	else
	{
		printf("arr 不等于 str\n");
	}

	return 0;
}

arr ——要比较的 C 字符串。

str——要比较的 C 字符串。

可以得到

strcmp的模拟实现

strcmp的作用是比较2个字符串并不会修改字符串便可加上const

返回一个整形(大于0,小于0,等于0)

 具体其下

int my_strcmp(const char* str1, const char* str2)
{
	assert(str1 && str2);
	while (*str1 == *str2)
	{
		if (*str1 == "\0")
		{
			return 0;
		}
		str1++;
		str2++;
	}
	if (str1 > str2)
	{
		return 1;
	}
	else
		return -1;
}

当 *str1 == *str2时有一个等于\0即可判断出俩个字符串相等。

也可以将if (str1 > str2)
    {
        return 1;
    }
    else
        return -1;

改为return *str1 - *str2;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值