这个代码哪里有问题啊为什么不能正常输出return呢
#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')
{
return 0;
}
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);
}
}