实现strcmp函数,但是发现输入aacb和bcaa出现错误,自己发现可能是自增的原因,想问问具体是怎么回事??

//自己实现strcmp
//发现有一组输出错了
//想知道问题出在哪里???
#include
int mystrcmp(const char* str1, const char* str2)
{
    int sum1=0;
    int sum2=0;
    while(*str1++!='\0')
        sum1+=*str1;
    while(*str2++!='\0')
        sum2+=*str2;
    return(sum1-sum2);
}
int main(){
    char a[50]={'\0'};
    char b[50]={'\0'};
    gets(a);
    gets(b);
    int rt=mystrcmp(a,b);
    printf("%d\n",rt);
}

strcmp函数参数是两个字符串,其用来比较两个字符串,比较方法是,从两个字符串的第一个字符开始比较,相等则比较下一个字符,当比较的字符不相等时,如果第一个字符串的该字符的ASCII码大于第二个字符串的该字符的ASCII码,返回大于0的数字,小于则放回小于0的数字,两个字符串相等时返回0

应该不是自增吧,因为题主的strcmp函数只是比较了各个字符串之和的大小,顺序并没有考虑

strcmp比较的是两个字符串是不是一样,不是比较的字符串里字符加起来是否一样

这是模仿strcmp函数的,题目要求和原来的strcmp有点不同,如果str1>str2返回正数,str1<str2则返回负数,若两者相等,返回0,所以我用求和来做了,不好意思没有描述清楚