写一函数,实现两个字符串的比较。即自己写一个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码的差值*/
}