题目描述
编写函数实现两个字符串的比较。即自己写一个strcmp函数,函数原型为:
设置p1指向字符串s1,p2指向字符串s2。要求:当s1=s2时返回值为0;当s1不等于s2时返回它们两者的第一个不同字符的ASCII码差值(如”boy”与”bad”,第二个字母不同,’o’与’a’之差为79-65=14);如果s1>s2则输出正值,如果s1<s2则输出负值。
输入
输入两行,每行一个字符串。
输出
两个字符串第一个不同字符的ASCII码差值。
代码:
#include <stdio.h>
int strcmp(char *a,char *b)
{
for(int i=0;i<strlen(a)||i<strlen(b);i++)
{
if(a[i]!=b[i])
{
return (a[i]-'a')-(b[i]-'a');
break;
}
}
}
int main()
{
char a[100],b[100];
gets(a);
gets(b);
char *p1=a;
char *p2=b;
printf("%d",strcmp(p1,p2));
return 0;
}