寫一函式,實現兩個字串的比較
阿新 • • 發佈:2018-11-19
寫一函式,實現兩個字串的比較。即自己寫一個strcmp函式,函式原型: int stremp(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,則輸出負值。
#include<stdio.h>
main()
{ int strcmp(char*p1,char *p2);
int m;
char str1[20],str2[20],*p1,*p2;
printf("Input two strings:\n");
scanf("%s",str1);
scanf("%s",str2);
p1=&str1[0];
p2=&str2[0];
m=strcmp(p1,p2);
printf("result: %d\n",m);
}
int strcmp(char*p1,char *p2) /*兩個字串比較的函式*/
{ int i;
i=0;
while(*(p1+i)==*(p2+i))
if(*(p1+i++)=='\0') return(0); /*相等時返回結果0*/
return(*(p1+i)-*(p2+i)); /*不等時返回結果為第一個不等字元ASCII碼的差值*/
}