源码实现 --> strcmp

时间:2022-03-30 19:31:27

比较字符串大小

函数

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 ;
break;
} }
return ;
}

测试

#include<iostream.h>
#include<assert.h>
void main()
{
char str1[]="aaabbbccc";
char str2[]="aa";
int result = strCmp(str1,str2);
cout<<result<<endl;
}

输出结果:

判断大小,输出结果为 

其是字母a的ascii码;

比较是否相等,输出结果是0