自己写一个strcmp函数(C++)

题目说明:

写一个函数,实现两个字符串的比较。即自己写一个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++;
	}
}


 

 

posted on 2013-08-09 23:07  you Richer  阅读(599)  评论(0编辑  收藏  举报