example 1
# include<stdio.h>
# define B  50
int char_strcmp (char [],char []);
int main ()
{
int test;
char str1[B],str2[B];
printf("\nInput the first char:");
gets(str1);
printf("\nInput the second char:");
gets(str2);
test=char_strcmp(str1,str2);
if(test==0) printf("\nstr1:%s=str2:%s",str1,str2);  if(test>0) printf("\nstr1:%s>str2:%s",str1,str2);  if(test<0) printf("\nstr1:%s<str2:%s",str1,str2);  return 0;
}
int char_strcmp(char  a[],char b[])
{
int num=0,i,j;
for(i=0,j=0;a[i]!='\0'&&b[j]!='\0';)
{
num=a[i++]-b[j++];
if(num!=0)
break;
}
while(num==0)
{
if(a[i]=='\0'&&b[j]!='\0')
num=-1;
if(a[i]!='\0'&&b[j]=='\0')
num=1;
if(a[i]=='\0'&&b[j]=='\0')
num=0;
break;
}
return num;
}
example 2
# include<stdio.h>
# define B  50
int char_strcmp (char [],char []);
int main ()
{
int test;
char str1[B],str2[B];
printf("\nInput the first char:");
gets(str1);
printf("\nInput the second char:");
gets(str2);
test=char_strcmp(str1,str2);
if(test==0) printf("\nstr1:%s=str2:%s",str1,str2);  if(test>0) printf("\nstr1:%s>str2:%s",str1,str2);
if(test<0) printf("\nstr1:%s<str2:%s",str1,str2);  return 0;
}
int char_strcmp(char  a[],char b[])
{
int num=0,i=0,j=0;
char *pa,*pb;
pa=a,pb=b;
for(;*pa!='\0'&&*pb!='\0';)
{
num=*(pa++)-*(pb++);
if(num!=0)
break;
}
while(num==0)
{
if(*pa=='\0'&&*pb!='\0')
num=-1;break;
if(*pa!='\0'&&*pb=='\0')
num=1;break;
if(*pa=='\0'&&*pb=='\0')
num=0;break;
}
return num;
}
example 3
# include<stdio.h>
# define B  50
int char_strcmp (char *,char *);
int main ()
{
int test;
char str1[B],str2[B];
char *p1,*p2;
printf("\nInput the first char:");
gets(str1);
printf("\nInput the second char:");
gets(str2);
p1=str1,p2=str2;
字符串长度比较函数
test=char_strcmp(p1,p2);
if(test==0) printf("\nstr1:%s=str2:%s",str1,str2);  if(test>0) printf("\nstr1:%s>str2:%s",str1,str2);  if(test<0) printf("\nstr1:%s<str2:%s",str1,str2);  return 0;
}
int char_strcmp(char *pa,char *pb)
{
int num=0;
for(;*pa!='\0'&&*pb!='\0';)
{
num=*(pa++)-*(pb++);
if(num!=0)
break;
}
while(num==0)
{
if(*pa=='\0'&&*pb!='\0')  num=-1;break;
if(*pa!='\0'&&*pb=='\0')  num=1;break;
if(*pa=='\0'&&*pb=='\0')  num=0;break;
}
return num;
}
e
x a
m p l e
1 #
i n c l u d e < s t d i o . h > # d e f i n e B
5 0
i n t c h a r _ s t r c m

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。