写了一个strcmp函数,但是觉得太大,不好,有没有很简单的程序?
#include<stdio.h>#include<string.h>
int process(char *p1, char *p2)
{
int i,min,k=0;
if(strlen(p1)!=strlen(p2))
{
if(strlen(p1)<strlen(p2))
{ k=0;
min=strlen(p1);
for(i=0;i<=min-1;i++)
{
if(*(p1+i)>*(p2+i)) { return (1); break;}
else if(*(p1+i)<*(p2+i)) { return(-1); break;}
else k++;
}
if(k==min) return(-1);
}
else {
k=0;
min=strlen(p2);
for(i=0;i<=min-1;i++)
{
if(*(p1+i)>*(p2+i)) { return (1); break;}
else if(*(p1+i)<*(p2+i)) { return(-1); break;}
else k++;
}
if(k==min) return(1);
}
}
else{
k=0;
min=strlen(p2);
for(i=0;i<=min-1;i++)
{
if(*(p1+i)>*(p2+i)) { return (1); break;}
else if(*(p1+i)<*(p2+i)) { return(-1); break;}
else k++;
}
if(k==min) return(0);
}
return 0;
}
void main()
{
int y;
char a[100],b[100],*p1,*p2;
gets(a);
gets(b);
p1=a;p2=b;
y=process(p1,p2);
printf("%d\n",y);
}