题目说明:
写一个函数,实现两个字符串的比较。即自己写一个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: "; cin>>s1; cout<<" 请输入第二个字符s2: "; cin>>s2; int r; r=Strcmp(s1,s2); cout<<" "<<s1; if(r==0){ cout<<" = "; }else if(r>0){ cout<<" > "; }else if(r<0){ cout<<" < "; } cout<<s2<<" "<<endl; cout<<""<<r<<" "<<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++; } }