毕加索的画看不懂:1. 编写一个strcmp函数实现两个字符串的比较:

来源:百度文库 编辑:高校问答 时间:2024/05/04 14:32:44

int stringcmp(char *s1,char *s2)

{

while(*s1||*s2) //如果S1和S2比较完毕 (‘\\0’)跳出循环;

{

if(*s1-*s2) //判断S1和S2对应的字符是不是不同;

return *s1-*s2; //如果不同,返回S1和S2的ASCII之差;

else // 如果相同,让指针指向S1和S2的下一个字符比较

{

s2++;

s1++;

}

}

return 0; // S1和S2相等的时候返回0;

}

int mystrcmp(char* s1, char* s2)
{
while (*s1==*s2)
{
if(*s1=='\0') return 0;
s1++;
s2++;
}
return *s1-*s2;
}

应该可以:
main()
{
char str1[20],str2[20];
int i=0,j=0,flag;
gets(str1);
gets(str2);
while(str1[i]!='\0'&&str2[j]!='\0')
{
if(str1[i++]>str2[j++]) flag=1;
else if(str1[i++]<str2[j++]) flag=-1;
else flag=0;
}

if(flag==1) printf("str1-str2>0");
if(flag==-1) printf("str1-str2<0");
if(flag==0) printf("str1-str2==0");
getch();
}