自己写一个strcmp函数

编写一函数,实现两个字符串的比较。即自己写一个strcmp函数,
函数原型为strcmpchar *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);
}
}
return 0;
}
//主函数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));
}
return 0;
}
posted @   xuchaoxin1375  阅读(44)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2023-08-18 计算字符串中子串出现的次数 输入 输入以空格相隔的两个字符串(字符数不大于20个),敲回车 输出 统计第一个字符串中 第二个字符串 出现的次数 样例输入 Goodoo o 样例输出 4
2023-08-18 android开发入门+进阶学习建议
2023-08-18 java_利用hanlp对文件“三国演义(罗贯中).txt”进行分词,去掉标点符号和停用词, 最后统计词频,排序输出到文件“三国演义词频.txt“
2023-08-18 c/python:_分解质因数:
点击右上角即可分享
微信分享提示