int strcmp ( const char * str1, const char * str2 );
目录
标准规定
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;