</pre><pre name="code" class="cpp">/*
*Copyright(c)2016,烟台大学计算机与控制工程学院
*All right reserved.
*文件名称:77.cpp
*作 者:董凯琦
*完成日期:2016年4月22日
*版 本 号:v1.0
*
*问题描述:写一函数,实现两个字符串的比较。即自己写一个strcmp函数,函数原型为
int stringcmp(char *p1,char *p2);
设p1指向字符串s1,p2指向字符串s2。要求当s1=s2时,返回值为0,若s1≠s2,返回它们二者第1个不同字符的ASCII码差值(如"BOY"与"BAD",第2个字母不同,"O"与"A"之差为79-65=14)。如果s1>s2,则输出正值,如s1<s2,则输出负值。
*输入描述:两个字符串
*程序输出: 比较结果
*/
#include <iostream>
#include <cstring>
using namespace std;
int stringcmp(char *p1,char *p2)
{
while(*p1||*p2)
{
if(*p1!=*p2) //判断两字符串中的字母是否相等
return(*p1-*p2);
else
{
p1++;
p2++;
}
}
return 0;
}
int main()
{
int stringcmp(char *,char *);
int m;
char str1[80],str2[80],*p1,*p2;
cin>>str1;
cin>>str2;
p1=&str1[0]; //指针指向字符串的首地址
p2=&str2[0];
m=stringcmp(p1,p2);//调用字符串比较函数
cout<<m<<endl;
return 0;
}
}