C语言-写一函数,实现两个字符串的比较。即自己写一个strcmp函数,函数原型为 int strcmp(char *pl,char *p2);

题目要求:

17.写一函数,实现两个字符串的比较。即自己写一个strcmp函数,函数原型为

int strcmp(char *pl,char *p2);

设p1指向字符串s1,p2指向字符串s2。要求当s1=s2时,返回值为0;若s1≠s2,返回它们二者第1个不同字符的 ASCI1码差值(如"BOY"与"BAD",第2个字母不同,0与A之差为79-65=14)。如果s1>s2,则输出正值;如果s1<s2,则输出负值。

具体程序:

c 复制代码
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>
int main()
{
	int strcmp(char* p1, char* p2);
	char p1[100];
	char p2[100];
	printf("请输入两个字符串:\n");
	gets(p1);
	gets(p2);
	int result=strcmp(p1, p2);
	if (result == 0)
	{
		printf("字符串相同");
	}
	else
	{
		printf("%d", result);
	}
	return 0;
}
int strcmp(char* p1, char* p2)
{
	int i, j,flag = 1;
	for (i = 0; i < strlen(p1); i++)
	{
		if (*(p1 + i) - *(p2 + i) == 0)continue;
		else
		{
			flag = 0;
			return(*(p1 + i) - *(p2 + i));
		}
	}
	if (flag == 1)return 0;
}

运行结果:


相关推荐
Lvan的前端笔记6 分钟前
python:列表推导式(List Comprehension)
开发语言·python·list
李小先6 分钟前
supersonic——PARSING阶段
开发语言·python
若风的雨15 分钟前
ARM Trusted Firmware 启动流程:从汇编到 C 语言的渐进式初始化
c语言·汇编·arm开发
夕阳下的一片树叶91315 分钟前
后端java遇到的问题
java·开发语言
海涛高软17 分钟前
Qt中使用QListWidget列表
开发语言·qt
沐知全栈开发22 分钟前
MongoDB 删除数据库
开发语言
CodeCraft Studio28 分钟前
国产化Excel开发组件Spire.XLS教程:使用Python批量删除Excel分页符
开发语言·python·excel·python开发·spire.xls·excel api库·excel开发组件
木子欢儿31 分钟前
在 Debian 13 上搭建一个 NTP (Network Time Protocol) 服务器
运维·服务器·开发语言·debian·php
疑惑的杰瑞34 分钟前
【C】顺序结构
c语言·内存划分
小龙报35 分钟前
【初阶数据结构】从 “数组升级” 到工程实现:动态顺序表实现框架的硬核拆解指南
c语言·数据结构·c++·算法·机器学习·信息与通信·visual studio