题目说明:
写一个函数,实现两个字符串的比较。即自己写一个strcmp函数,函数原型为int strcmp( char * p1, char * p2);
设p1指向字符串s1,p2指向字符串s2。要求当s1=s2时,返回值为0,若s1不等于s2,返回它们二者第一个不同字符的ASCII码差值(如“BOY”与“BAD”,第二个字符不同,'0'与'A'之差为79-65=14)。如果s1>s2,则输出正值,如果s1<s2,则输出负值。
#include<iostream>
using namespace std;
int main(){
int Strcmp( char * p1, char * p2);
char s1[100];
char s2[100];
cout<<"请输入第一个字符s1:\n";
cin>>s1;
cout<<"\n请输入第二个字符s2:\n";
cin>>s2;
int r;
r=Strcmp(s1,s2);
cout<<"\n\n"<<s1;
if(r==0){
cout<<" = ";
}else if(r>0){
cout<<" > ";
}else if(r<0){
cout<<" < ";
}
cout<<s2<<"\n"<<endl;
cout<<""<<r<<"\n"<<endl;
return 0;
}
int Strcmp( char *p1 ,char * p2){
char k;
int i=0;
int r;
while(1){
if(*(p1+i)!=*(p2+i)){
r=int(*(p1+i))-int(*(p2+i));
return(r);
break;
}
i++;
}
}