#include<stdio.h>
int compchar(char a,char b);
int main()
{
char str1[100],str2[100];
int flag,i;
gets(str1);
gets(str2);
i=0;
do
{
flag=compchar(str1[i],str2[i]);//根本不需要那个子函数,只需换成flag=str1[i]-str2[i]; 用这个,只不过是想介绍数组元素可以作为函数的实参
i++;
}
while((str1[i]!='\0'||str2[i]!='\0')&&flag==0);//可以换成while和for,不过要在i=0下面加上flag=0;一般情况下 ,已知用for,未知用while
if(flag==0)
printf("%s=%s",str1,str2);
else if(flag>0)
printf("%s>%s",str1,str2);
else
printf("%s<%s",str1,str2);
return 0;
}
int compchar(char a,char b)
{
int t;
t=a-b;
return t;
}
比较这两个函数可知,strcmp等价于上面的那个循环体。
#include<stdio.h>
#include<string.h>
int main()
{
char a[100],b[100];
gets(a);
gets(b);
if(strcmp(a,b)==0)
printf("%s=%s",a,b);
else if(strcmp(a,b)<0)
printf("%s<%s",a,b);
else
printf("%s>%s",a,b);
return 0;
}
搜索