该函数用于比较两个字符串是否一样。
使用方法如下:
#include<stdio.h>
#include<string.h>
int main()
{
//strcmp函数返回值有三种情况,小于零时返回-1,等于零,大于零时返回+1
printf("%d\n", strcmp("abc", "abc"));//0,两字符串一样
printf("%d\n", strcmp("ab", "abc")); //-1 前两个字母一样,第三个比的时候'\0'<'c'的阿斯克码
printf("%d\n", strcmp("ac", "abc")); //1 第一个字母一样,第二个比的时候'c'>'b'的阿斯克码
//另一个函数
printf("%d\n", strncmp("abc", "ab", 2));//比较前几个连续字符是否一样;
return 0;
}
用一个自定义函数来实现strcmp函数
#include<stdio.h>
int mystrcmp(char* str1, char* str2)
{
while (*str1 != '\0' || *str2 != '\0')
{
if (*str1 > *str2)
{
return 1;
}
else if (*str1 < *str2)
{
return -1;
}
else
{
str1++;
str2++;
}
}
return 0;
}
int main()
{
printf("%d\n", mystrcmp("abc", "abc"));
printf("%d\n",mystrcmp("ab", "abc"));
printf("%d\n", mystrcmp("ac", "abc"));
return 0;
}