源码实现 --> strcmp
比较字符串大小
函数
int strcmp(const char *string1, const char *string2);
比较字符串string1和string2大小. 返回值< 0, 表示string1小于string2; 返回值为0, 表示string1等于string2; 返回值> 0, 表示string1大于string2.
源码
int strcmp(const char *s, const char *t) { assert(s != NULL && t != NULL); while (*s && *t && *s == *t) { ++ s; ++ t; } return (*s - *t); }
同时,还写了一个只判断两个字符串是否相等的程序。
int strCmp(char *strOne,char *strTwo) { assert((strOne!=NULL) && (strTwo!=NULL)); while(*strOne++ && *strTwo++) { if(*strOne!=*strTwo) { return 0; break; } } return 1; }
测试
#include<iostream.h> #include<assert.h> void main() { char str1[10]="aaabbbccc"; char str2[10]="aa"; int result = strCmp(str1,str2); cout<<result<<endl; }
输出结果:
判断大小,输出结果为 97 其是字母a的ascii码; 比较是否相等,输出结果是0