⾃⼰写⼀个strcmp函数
编写⼀函数,实现两个字符串的⽐较。即⾃⼰写⼀个strcmp函数,
字符串比较函数实现函数原型为strcmp(char*p1,char*p2),设p1指向字符串s1,p2指向字符串s2。要求当s1=s2时,返回值为0;
(s1,s2长度相等并且不超过100)若s1!=s2,返回它们两者第⼀个不同字符的ASCII码差值
(如“BOY”与“BAD”,第2个字母不同,“O”与“A”之差为79-65=14);如果s1>s2,则输出正值,反之输出负值。(本题要求⽤指针来做)输⼊
第⼀⾏为N,表⽰接下来有N组测试数据。接下来的N⾏表⽰N组测试数据,
每组测试数据包含两个字符串,中间⽤空格隔开,并且保证每个字符串中的字符都是⼩写字母。
输出
输出两个字符串⽐较的结果。
样例输⼊
2
abcdef aaaaaa
a z
样例输出
1
-25
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<stdlib.h>
// // 拷贝到平台的时候把my_fuction_lib.h注释掉.
/
/#include "my_fuction_lib.h"
//在此下⽅插⼊⾃定义函数对的声明:
int strcmp_mine(char*p,char*q)
{
int len_p =strlen(p);
int len_q =strlen(q);
for(int i =0; i < len_p && i < len_q; i++)
{
if(*(p + i)==*(q + i))
;
else if(*(p + i)!=*(q + i))
{
return*(p + i)-*(q + i);
}
}
return0;
}
//主函数main
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
//printf("test:\n");
/* char s1[100],s2[100]; */
char*p,*q;
int size_char =sizeof(char);
p =(char*)malloc(100* size_char);
q =(char*)malloc(100* size_char);
scanf("%s %s", p, q);
printf("%d\n",strcmp_mine(p, q));
}
return0;
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论