c++ 如何用一个函数实现两个字符串的比较

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


程序如下:

#include <iostream>
#include<cmath>
#include<string.h>
using namespace std;
int strcmp(char*p1,char*p2)
{   
   int i,c;
 for(i=0;p1[i]!='\0'&&p2[i]!='\0';i++)
   {
    if(p1[i]==p2[i])
  
    c=0;
  
   else if(p1[i]!=p2[i])
  
   c=p1[i]-p2[i];
   }
   return c;
}
int main(int argc, char * argv[])
{
 
 char str1[256],str2[256];
 cout<<"please input string1:";
 cin>>str1;
 cout<<"please input string2:";
 cin>>str2;
 cout<<strcmp(str1,str2);
  return 0;
 
}


©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页