自己的strcmp()

自己的strcmp()

写一个函数,实现两个字符串的比较过程。即自己写一个strcmp函数,函数的原型为:int strcmp(char *p1, char *p2)。设p1指向字符串s1,p2指向字符串s2。要求当s1=s2时,返回值为0;若s1≠s2,返回它们二者第一个不同字符的ASCII码差值(例如”BOY”与”BAD”,第二个字母不同,’O’与’A’之差为79-65=14)。如果s1>s2,则输出正值;如果s1<s2,则输出负值。

输入有两行,每行有一个不包含空格的字符串,即参与比较的两个字符串。保证每个字符串的长度都不超过200。

输出只有一个整数,即strcmp比较两个字符串的返回值。
请注意行尾输出换行。
输入

ThisisLarger.
ThisissMALLER.

输出

-39
//自己的strcmp()
#include<iostream>
using namespace std;
int mystrcmp(char* str1, char* str2);
int main(void)
{
    
    
    int n;
    char a[201];
    char b[201];
    cin>>a;
    cin>>b;
    n=mystrcmp(a,b);
    cout<<n<<endl;
    return 0;
}
int mystrcmp(char* str1, char* str2)
{
    
    
    char *ptstr1=str1;
    char *ptstr2=str2;
    while (*ptstr1==*ptstr2)
    {
    
    
        ptstr1++, ptstr2++;
        if (*ptstr1!=*ptstr2)
            return (*ptstr1-*ptstr2);
        else if (*ptstr1==*ptstr2)
            continue;
    }
    return (*ptstr1-*ptstr2);
}

猜你喜欢

转载自blog.csdn.net/qq_45830912/article/details/114108116