//自己实现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,所以我用求和来做了,不好意思没有描述清楚