C语言实现strcmp()函数

2023-05-16

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

//方式一
int my_strcmp1(char* str1, char* str2)
{
	if (str1 == NULL || str2 == NULL)
		return;
	
	int i = 0;
	int len = 0;
	if (strlen(str1) > strlen(str2))
	{
		len = strlen(str1);
	}
	else len = strlen(str2);
	for (;i < len; i++)
	{
		if (str1[i] > str2[i])
		{
			return 1;
		}
		else if (str1[i] < str2[i])
		{
			return -1;
		}
	}
	return 0;
}

//方式二
int my_strcmp2(char *str1, char* str2)
{
	if (str1 == NULL || str2 == NULL)
		return;



	while (*str1 == *str2)
	{
		if (*str1 == '\0')
		{
			return 0;
		}
		str1++;
		str2++;
	}
	return *str1 > *str2 ? 1 : -1;
}

int main()
{
	char str1[] = "hallo";
	char str2[] = "hallowewe";
	//int ret = my_strcmp1(str1,str2);
	int ret = my_strcmp2(str1, str2);
	printf("%d\n", ret);
	system("pause");
	return EXIT_SUCCESS;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C语言实现strcmp()函数 的相关文章

  • C语言实现strlen()函数

    方式一 xff1a span class token macro property span class token directive keyword define span CRT SECURE NO WARNINGS span spa
  • 操作系统动态优先级调度算法C语言实现

    动态优先级算法 动态优先数是指在进程创建时先确定一个初始优先数 xff0c 以后在进程运行中随着进程特性的改变不断修改优先数 xff0c 这样 xff0c 由于开始优先数很低而得不到CPU的进程 xff0c 就能因为等待时间的增长而优先数变
  • 辗转相除法详解(C语言实现)

    辗转相除法 定义基本原理原理证明 算法实现思想C语言实现 定义 辗转相除法 xff0c 被称为欧几里得 xff08 Euclidean xff09 算法 xff0c 是求最大公约数的算法 基本原理 原理 两个正整数a和b a gt b xf
  • 选择排序算法(C语言实现)

    include lt stdio h gt void choice int a int n int i j temp for i 61 0 i lt n 1 i 43 43 for j 61 i 43 1 j lt n j 43 43 if
  • 使用汇编语言与C语言实现LED1/LED2/LED3三盏灯点亮

    汇编语言代码段 text global start start LED13 INIT LED1 3点灯 RCC章节 64 1 设置GPIO始终使能 通过RCC AHB4ENSRTR寄存器设置0x50000A28 4 61 1 ldr r0
  • 数组排序(C 语言实现)

    本文主要包含常见的数组排序方法 选择排序 原理 在原始数组中取未排序的首元素 xff0c 与其后方所有元素比较 xff0c 不满足顺序 xff0c 则交换首元素此时满足条件 xff0c 未排序部分后移重复上述操作 代码实现 include
  • C语言实现Split函数

    借助C语言的动态内存分配 xff0c 实现类似VB中Split函数的效果 结构体介绍 xff1a IString xff1a 参数 str 字符串数组的指针 参数 num 字符串个数 函数介绍 功能 xff1a 按一个字符来拆分字符串 参数
  • C++:C语言实现HTTP的GET和POST请求

    似乎写代码发HTTP请求需要自己把完整的协议帧写出来 xff1f 而不是单纯填个URL就行了 xff0c 那既然完整协议帧都写出来了 xff0c 那我直接TCP发不就可以了 xff1f 还是说不能这样 基本你百度搜 c 43 43 发送ht
  • 用c语言实现adrc算法

    ADRC Adaptive Dynamic Range Control 算法是一种用于自动调节动态范围的方法 在 C 语言中实现 ADRC 算法 xff0c 您需要首先了解 ADRC 算法的基本原理 xff0c 然后根据公式把算法按照 C
  • 记录:在ubuntu中以C语言实现json文件读取遇到的问题(1)(说不定会有2)

    4 12 记录在ubuntu中以C语言实现json文件读取遇到的问题 xff08 1 xff09 xff08 说不定会有2 xff09 暂记录遇到的问题及解决 xff0c 其中还有些原因没有搞明白 xff09 1 首先过程参考自一位大佬的博
  • C++/C语言实现HTTP的GET和POST请求

    阅读目录 HTTP请求和IP TCP 实现GET请求 实现POST请求 xff1a 参考 xff1a 回到顶部 HTTP请求和IP TCP 所谓的HTTP协议是基于IP TCP协议的 xff0c 所以要获取远端的html数据只要创建sock
  • C语言实现http post请求和get请求,post请求可以上传图片和文件

    文章目录 1 http协议简介2 http协议分析2 1 http请求2 1 1 请求行2 1 1 1 请求方法2 1 1 2 URL2 1 1 3 协议版本2 1 1 4 请求行总结 2 1 2 请求头部2 1 3 请求数据 2 2 ht
  • C语言实现“井字棋”游戏(三子棋)人机对弈

    井字棋游戏 xff1a 即三子棋 xff0c 英文名叫Tic Tac Tic xff0c 是一种在3 3格子上进行的连珠游戏 xff0c 和五子棋比较类似 xff0c 由于棋盘一般不画边线框 xff0c 格线排成井字故得名 题目分析 xff
  • C语言实现Windows下的socket编程

    一 UDP 数据报 协议 UDP User Datagram Protocol的简称 xff0c 中文名是用户数据报协议 xff0c 是OSI Open System Interconnection xff0c 开放式系统互联 参考模型中一
  • Linux下的UDP服务器客户端的搭建(C语言实现)

    大家好 xff0c 我是练习编程时长两年半的个人练习生昆工第一ikun xff0c 昨天我们说了搭建TCP的服务器和客户端 xff0c 今天我们就来分享一下UDP的服务器和客户端搭建 UDP的特点是无连接 xff0c 多个客户端可以发送消息
  • 优化的 strcmp 实现

    发现这个函数here 这是一个实现strcmp int strcmp const char s1 const char s2 while s1 s1 s2 s1 s2 return const unsigned char s1 const
  • 比较两个字符串,strcmp 的问题

    我试图检查从 stdin 读取的行是否以 login 开头 但 strcmp 似乎不起作用 char s1 20 s2 20 fgets s1 20 stdin strncpy s2 s1 6 strcmp s2 login if strc
  • scanf 和 strcmp 与 c 字符串

    我找到了一个不错的example如何使用 strcmp 但它只能与 fgets 一起使用 并且我需要使其与 scanf 一起使用 所以 这是代码 int main void char fruit apple n char ans 80 do
  • 当没有语法错误时,此代码中的 if 情况不起作用

    if s name kolkata printf the details if strcmp s name kolkata 0 printf the details 第一个 if 情况没有语法错误 但仍然不起作用 而第二个 if 情况却工作
  • GDB - strcmp 不工作:__strcmp_sse2_unaligned

    我无法使用 strcmp 在 GDB 中创建条件断点 break x if strcmp str c str foo 0 你为什么问 Because print strcmp hello hello Yield s int const ch

随机推荐

  • jdk提供的4种注解

    元注解 xff1a 对现有的注解进行解释说明的注解 Retention xff1a 指定所修饰的Annotation的生命周期 xff1a SOURCE CLASS xff08 默认行为 xff09 RUNTIME xff0c 只有声明为R
  • Java中List接口常用方法

    List除了从Collection集合继承的方法外 xff0c List集合里添加了一些根据索引来操作集合元素的方法 xff1a 序号返回值函数作用1voidadd int index Object ele 在index位置插入ele元素2
  • 对Java中Class类的理解并获取Class实例

    关于java lang Class类的理解 类的加载过程 xff1a 程序经过javac exe命令以后 xff0c 会生成一个或多个字节码文件 class结尾 接着我们使用java exe命令对某个字节码文件进行解释运行 相当于将某个字节
  • 类加载器ClassLoader及应用

    类加载器ClassLoader span class token keyword public span span class token keyword class span span class token class name Cla
  • 创建运行时类的对象、调用运行时类的指定结构以及获取运行时类的完整结构

    创建两个类 一个注解 一个接口 用来准备测试 span class token keyword public span span class token keyword class span span class token class n
  • Lambda表达式基本使用的六种情况

    举例 xff1a o1 o2 gt Integer compare o1 o2 格式 xff1a lambda操作符 或 箭头操作符 左边 xff1a lambda形参列表 xff08 其实就是接口中的抽象方法的形参列表 xff09 右边
  • DBeaver登录Mysql所犯的低级错误

    1 简介 DBeaver是免费和开源 xff08 GPL xff09 为开发人员和数据库管理员通用数据库工具 2 安装DBeaver 3 DBeave连接MySQL 3 1 在DBeaver界面的左上角 xff0c 找到加号 xff0c 选
  • sql基础

    DB xff1a 数据库 database xff1a 存储数据的 仓库 它保存了一系列有组织的数据 DBMS xff1a 数据库管理系统 Database Management System 数据库是通过DBMS创建和操作的容器 SQL
  • SQL之DQL语言

    1 基础查询 语法 xff1a select 查询列表 from 表名 其中 xff1a 表中的字段 常量值 表达式 函数 查询字段 xff1a select 字段 多个字段中间逗号隔开 from 表名 查询常量值 xff1a select
  • Ubuntu中安装.deb格式的软件包

    使用dpkg命令进行安装 dpkg命令常用格式如下 xff1a sudo dpkg I iptux deb 查看iptux deb软件包的详细信息 xff0c 包括软件名称 版本以及大小等 xff08 其中 I等价于 info xff09
  • SQL之DDL(数据定义语言)

    1 库的管理 创建库 create database if not exists 库名 更改库的字符集 alter database 库名 character set gbk utf 8 删除库 drop database if exist
  • SQL之事务级别

    事务 xff1a 一个或一组sql语句组成一个执行单元 xff0c 这个执行单元要么全部执行 xff0c 要么全部不执行 事务的ACID属性 xff1a 原子性 原子性是指事务是一个不可分割的工作单位 xff0c 事务中的操作要么都发生 x
  • 动态数组的创建、插入、按值删除、按位值删除、销毁(C语言实现)

    dynamic h文件 xff1a span class token macro property span class token directive keyword pragma span once span span class to
  • 统计字母字符串中字符出现的次数(C语言实现)

    span class token macro property span class token directive keyword define span CRT SECURE NO WARNINGS span span class to
  • C语言实现strlen()函数

    方式一 xff1a span class token macro property span class token directive keyword define span CRT SECURE NO WARNINGS span spa
  • C语言gets()、fgets()、puts()、fputs()、strlen()函数

    gets 函数 xff1a 从屏幕获取一个字符串 xff0c 返回字符串的首地址 可以获取带有空格的字符串 不安全 char gets char s 参数 xff1a 用来存储字符串的空间地址 返回值 xff1a 返回实际获取到的字符串首地
  • tcp三次握手与四次挥手的简化流程

    控制字段 xff1a SYN 1 xff1a 请求建立连接控制字段 ACK 1 xff1a 数据信息确认控制字段 FIN 1 xff1a 请求断开连接控制字段 tcp三次握手过程 xff1a 第一次握手 xff1a 发送SYN请求建立连接控
  • 转载130个原文网站,原文链接:https://blog.csdn.net/qq_43901693/article/details/100606828

    64 130 余个相见恨晚的超实用网站 文末没有公众号 xff0c 只求 点赞 43 关注 文章目录 130 余个相见恨晚的超实用网站搞学习找书籍冷知识 黑科技写代码资源搜索小工具导航页 xff08 工具集 xff09 看视频学设计搞文档找
  • TCP的十一种状态集

    TCP三次握手 xff1a 5种状态 最开始两台主机都处于关闭状态 closed 服务端将相应服务开启 服务端状态 xff1a closed gt listen客户端向服务端发起连接请求 客户端状态 xff1a closed gt syn
  • C语言实现strcmp()函数

    span class token macro property span class token directive keyword define span CRT SECURE NO WARNINGS span span class to