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;
}

运行结果:


相关推荐
毕设源码-邱学长6 小时前
【开题答辩全过程】以 基于Java的学校住宿管理系统的设计与实现为例,包含答辩的问题和答案
java·开发语言
rookieﻬ°7 小时前
PHP框架漏洞
开发语言·php
busideyang8 小时前
为什么推挽输出不能接收串口数据,而准双向口可以?
c语言·stm32·单片机·嵌入式硬件·嵌入式
炸膛坦客8 小时前
单片机/C/C++八股:(二十)指针常量和常量指针
c语言·开发语言·c++
爱编码的小八嘎8 小时前
C语言完美演绎4-8
c语言
兑生8 小时前
【灵神题单·贪心】1481. 不同整数的最少数目 | 频率排序贪心 | Java
java·开发语言
炸膛坦客9 小时前
单片机/C/C++八股:(十九)栈和堆的区别?
c语言·开发语言·c++
零雲9 小时前
java面试:了解抽象类与接口么?讲一讲它们的区别
java·开发语言·面试
Jay_Franklin9 小时前
Quarto与Python集成使用
开发语言·python·markdown
2401_8318249610 小时前
代码性能剖析工具
开发语言·c++·算法