strcmp函数:字符串比较函数。
用法:strcmp(str1,str2)。str1,str2可以是字符串常量或者字符串变量,返回值为整形。
- str1小于str2,返回负值,
- str1等于str2,返回为0,
- str1大于str2,返回正值
那么两个字符串是如何进行比较的呢?
答:
字符串比较,比较两个字符串的大小,字符串的大小按照字典序定义,例如"abc""abb".因为c在字典中的排序顺序更靠后面,所以"abc">“abb”.例如"abc""abb".比较完后, 输出字符串的大小关系. 大写<小写.例如'A'65 < 'a'97.
例如
//strcmp函数 //用法:strcmp(str1,str2) //str1,str2可以是字符串常量或者字符串变量,返回值为整形 //str1小于str2,返回负值,str1等于str2,返回为0,str1大于str2,返回正值 #include<stdio.h> #include<string.h> int main() { char arr[10] = "abc"; char brr[10] = "abb"; int ret=strcmp(arr, brr); //把返回的值赋值给ret printf("%d", ret); //1 return 0; }
运行结果;
自己实现一个strcmp函数:
#include<stdio.h>
int Mystrcmp(char str1[], char str2[])
{
int i;
for (i = 0; str1[i] == str2[i] && str1[i]!='\0'; i++)
;
return str1[i] - str2[i];
}
int main()
{
char str1[] = "abcde";
char str2[] = "abcc";
printf("%d\n",Mystrcmp(str1,str2));
return 0;
}