为什么运行的时候会出现100呢,
运行结果是
0
100
0
怎样才能分别输出
0
1
-1呢?是输入的str1,str2的字符不符合吗
#include <stdio.h>
int my_strcmp(const char* str1,const char* str2)
{
// if the characters currently being compared are equal
int ret;
while (*str1 == *str2)
{
if (*str1 == '\0'&&*str2 == '\0')//When both str1 and str2 are 0
{
ret=0;
break;
}
str1++;
str2++;
}
if (*str1 > *str2)
{
ret=1;
}
else
{
ret=-1;
}
}
int main()
{
const char *str1="abcd";
const char *str2="dcba";
const char *str3="abc";
int ret = my_strcmp(str1,str1);
printf("%d\n",ret);
ret = my_strcmp(str1,str2);
printf("%d\n",ret);
ret = my_strcmp(str1,str3);
printf("%d\n",ret);
}