编写函数strcmp(),用主函数调用实现两个字符串的比较。 int strcmp(cha...
发布网友
发布时间:2小时前
我来回答
共1个回答
热心网友
时间:44分钟前
我自己谢谢的,看看吧
#include<iostream.h>
#include<assert.h>
#include<string.h>
int strcmp(char s1[ ],char s2[ ])
{
assert(strlen(s1)!=0&&strlen(s2)!=0);
char *p1,*p2;
p1=s1;p2=s2;
while(*p1!=NULL&&*p2!=NULL)
{
if(*p1>*p2)
return 1;
else if(*p1<*p2)
return -1;
else
{
p1++;
p2++;
}
}
if(*p1==NULL&&*p2!=NULL) //串2长,因此串2大
return -1;
else if(*p1!=NULL&&*p2==NULL) //串1长,因此串1大
return 1;
else if(*p1==NULL&&*p2==NULL) //都为NULL ,相等
return 0;
}
int main()
{
char s1[]="hello";
char s2[]="hello world!";
int i=strcmp(s1,s2);
switch(i)
{
case 0 :
cout<<"s1==s2"<<endl;
break;
case 1 :
cout<<"s1>s2"<<endl;
break;
case -1:
cout<<"s1<s2"<<endl;
break;
}
return 0;
}