#include <iostream> using namespace std; int astrcmp(const char str1[], const char str2[]); int pstrcmp(const char *str1, const char *str2); int main() { char s1[50]="WO DE DI PAN!"; char s2[50]="WO ZUO ZU!"; int c; if(astrcmp(s1,s2)==0){ cout<<"s1=s2:"<<s1<<endl; } if(astrcmp(s1,s2)>0) { cout<<"s1>s2:"<<s1<<endl; }else{ cout<<"s2>s1:"<<s2<<endl; } if(pstrcmp(s1,s2)==0){ cout<<"s1=s2:"<<s1<<endl; }else if(pstrcmp(s1,s2)>0){ cout<<"s1>s2:"<<s1<<endl; }else{ cout<<"s2>s1:"<<s2<<endl; }//用指针 c=strcmp(s1,s2); cout<<c<<endl;//比较2个字符串的大小……s1=s2,strcmp(s1,s2) == 0;s1>s2, strcmp(s1,s2) == 1;s1<s2, strcmp(s1,s2) == -1; return 0; } int astrcmp(const char str1[], const char str2[]) { int i; i=str1-str2; if(i>0){ return 1; }else if(i<0){ return -1; }else return 0; } int pstrcmp(const char *str1, const char *str2) { const char *p1=str1,*p2=str2; int i; while(*p1!='\0'&&*p2!='\0') { p1++; p2++; } i=*p1-*p2; if(i>0){ return 1; }else if(i<0){ return -1; }else return 0; }
运行结果: