字符串函数<string.h>
strcmp函数
- strcmp()用于两个字符串的比较,如果相同则返回0,如果不相同则返回非零值.
- 函数原型 int strcmp(const char* stri1,const char* str2);
#include <stdio.h>
#include <string.h>
main()
{
char str1[10]="aa";
char *str2 = "ac";
char *str3 = "ac";
char *str4 = "aa";
printf("%d ",strcmp(str1,str2));
printf("%d ",strcmp(str3,str4));
printf("%d\n",strcmp(str1,str4));
}
//结果为 -1 1 0;
-
该函数用第一个字符串的字符与第二个字符串的字符相互比较,若str1字符ascll码值大于srt2字符 ,则返回1 否则返回-1 ,若相等,则返回0;只要有一对字符返回值不为零 则比较结.
(但是这个返回值和系统还有关系,有的系统可能返回的是ASCLL码值的差,及返回值为-2 2,0; -
该函数的自定义函数
int jiastrcmp(char *str1,char *str2)
{
while(*str1&&*str1==*str2)
{
str1++;str2++;
}
return *str1-*str2;
}
int main()
{
char *str1="aa";
char *str2="ac";
char *str3="ac";
char *str4="aa";
printf("%d ",jiastrcmp(str1,str2));
printf("%d ",jiastrcmp(str3,str4));
printf("%d\n",jiastrcmp(str4,str1));
return 0;
//结果为2 -2 0;
}
具体详细内容可以看C Primer Plus 702页B.5.22
2019/12/26 19/01