C++實現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,輸出負值。
測試輸入:
abc def
預期輸出:
result:-3
測試輸入:
aaa AAA
預期輸出:
result:32
源代碼:
#include <iostream>
using namespace std;
int main()
{
int strcmp(char *p1,char *p2);
// 請在此添加代碼
/********** Begin *********/
char a[100],b[100];
cin>>a>>b;
cout<<"result:"<<strcmp(a,b);
/********** End **********/
return 0;
}
int strcmp(char *p1,char *p2) //自已定義字符串比較函數
{
// 請在此添加代碼
/********** Begin *********/
while(*p1 && (*p1==*p2)){
++p1;
++p2;
}
return *p1 - *p2;
/********** End **********/
}