源码实现 --> 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

 

posted @ 2016-09-09 10:15  蚂蚁吃大象、  阅读(2211)  评论(0编辑  收藏  举报