**写一个函数,实现两个字符串的比较,即自己写一个strcmp函数,函数原型为
int strcmp(char p1,char p2);
设P1指向字符串s1,P2指向字符串s2。要求当s1=s2时,返回值为0,若s1不等于s2,返回它们二者第一个不同字符的ASCII码差值(如“BOY”与“BAD”,第2个字母不同,“O”与“A”之差为79-65=14)。如果s1>s2,则输出正值,如s1<s2,则输出负值。
例如运行结果
输入两个字符串:
CHINA
Chen
结果:-32
输入两个字符串:
Hello!
Hello!
结果:0
输入两个字符串:
dog
cat
结果:1
#include<iostream>
using namespace std;
#define N 50
int strcmp(char* p1, char* p2) {
int i, j;
while (*p1 != '\0' && *p2 != '\0') {
i = *p1 - *p2;
if (i != 0) {
j = i;
break;
}
p1++;
p2++;
}
if (*p1 == '\0' || *p2 == '\0') {
j = *p1 - *p2;
}
return j;
}
int main() {
char str1[N];
char str2[N];
int s;
cout << "输入两个字符串:" << endl;
cin >> str1;
cin >> str2;
s = strcmp(str1, str2);
cout << "结果:" << s << endl;
return 0;
}