自己的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);
}