任務描述:
寫一函數,實現兩個字符串的比較。 即自己寫一個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
預期輸出:
esult:-3
程序源碼:
#include <iostream> #include <string> using namespace std; int main() { int strcmp(char *p1,char *p2); // 請在此添加代碼 /********** Begin *********/ char str1[1024],str2[1024]; int a; cin>>str1; cin>>str2; a=strcmp(str1,str2); cout<<"result:" <<a; /********** End **********/ return 0; } int strcmp(char *p1,char *p2) //自已定義字符串比較函數 { // 請在此添加代碼 /********** Begin *********/int k; for(int i=0;p1[i]!='\n';i++) { if(p1[i]!=p2[i]) { k=p1[i]-p2[i]; return k; } } return 0; /********** End **********/ }