第十六週—C語言 (字串比較—不使用strcat函式)
阿新 • • 發佈:2019-02-06
/* 煙臺大學計算機學院 2016 作者:張威 完成日期:2016年12月10日 問題描述:寫一函式,實現兩個字串的比較。即自己寫一個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 <stdio.h> #include <string.h> int stringcmp(char *p1,char *p2) { int i=0; while(*(p1+i)==*(p2+i)) { if(*(p1+i++)=='\0') { return 0; } } return *(p1+i)-*(p2+i); } int main() { int stringcmp(char *,char *); int m; char str1[80],str2[80],*p1,*p2; scanf("%s",str1); scanf("%s",str2); p1=&str1[0]; p2=&str2[0]; m=stringcmp(p1,p2); printf("%d",m); return 0; }
執行結果: