字符串函数<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
/12/26 19/01