C++——写一函数,实现两个字符串的比较。即自己写一个strcmp函数,函数原型为int strcmp( char * pl,char * p2) ;用指针或引用方法处理。

设pl指向字符串sI,p2指向字符串s2。要求当s1-=s2时,返回值为0,若sl≠s2 ,返回它们二者第1个不同字符的ASCI码差值(如" BOY"与" BAD" ,第2个字母不同,,0与'A之差为79- -65=14)。如果sl>s2,则输出正值,如s1<s2,则输出负值。

没注释的源代码

#include <iostream>

using namespace std;
int strcmp(char *p1,char *p2);
int main()
{
    int m;
    char str1[100],str2[100],*p1,*p2;
    cout<<"please input two strings:"<<endl;
    cin>>str1>>str2;
    p1=&str1[0];
    p2=&str2[0];
    m=strcmp(p1,p2);
    cout<<"result:"<<m<<endl;
    return 0;
}
int strcmp(char *p1,char *p2)
{
    int i=0;
    while(*(p1+i)==*(p2+i))
        if(*(p1+i++)=='\0') return(0);
    return (*(p1+i)-(*(p2+i)));
}
 

猜你喜欢

转载自blog.csdn.net/2303_80770781/article/details/143472333