求助,简单c,为什么这个结果和逻辑不符啊
#include<stdio.h>#include<string.h>
int strCompete(char *s,char *t)
{
if(s&&t)
{
int s1=strlen(s),t1=strlen(t),i=0;
while((s[i]!='\0')&&(t[i]!='\0'))
{
if(s[i]<t[i])
return -1;
if(s[i]==t[i])
{
i++;
}
if(s[i]>t[i])
return 1;
i++;
}
if(s1<t1)
return -1;
if(s1==t1)
return 0;
if(s1>t1)
return 1;
}
}
int main()
{
char str1[]={"abc"};
char str2[]={"acc"};
int a;
a=strCompete(str1,str2);
printf("%d\n",a);
return 0;
}