目录
strcmp函数的功能
学习strcmp函数编辑
使用strcmp函数
模拟实现strcmp函数
strcmp函数的功能
strcmp函数的功能是字符串比较,两个字符串的对应位置的字符进行比较,直到字符不同或达到终止的 '\0' 字符为止
举例说明:
字符串1:"abcdef"
字符串2:"abq"
对应位置的字符进行比较,字符 a 和 b 相等,字符 c 和 q 不相等,字符 q 的ASCII码值大于 字符 c 的 ASCII 码值,所以字符串 "abq" 大于字符串 "abcdef"
学习strcmp函数
strcmp函数的参数:
str1 和 str2 两个字符指针,用来接收需要比较的字符串的首地址,因为只是需要比较,不会改变字符串的内容,所以可以加上 const 关键字修饰
strcmp函数的返回值:第一个字符串 小于 第二个字符串时,返回小于0的数字
第一个字符串 等于 第二个字符串时,返回等于0的数字
第一个字符串 大于 第二个字符串时,返回大于0的数字
使用strcmp函数
验证第一个字符串 小于 第二个字符串时:(默认返回-1)
验证第一个字符串 等于 第二个字符串时:(默认返回0)
验证第一个字符串 大于 第二个字符串时:(默认返回1)
模拟实现strcmp函数
int my_strcmp(const char* str1, const char* str2)
{
// 断言
assert(str1 != NULL);
assert(str2 != NULL);
// 判断是否相等
while (*str1 == *str2)
{
if (*str1 == '\0' || *str2 == '\0')
return 0;
str1++;
str2++;
}
// 判断是否大于或者小于
if (*str1 > *str2)
return 1;
else
return -1;
}
代码验证:
验证第一个字符串 小于 第二个字符串时:(默认返回-1)
验证第一个字符串 等于 第二个字符串时:(默认返回0)
验证第一个字符串 大于 第二个字符串时:(默认返回1)