53.【C语言】 字符函数和字符串函数(strcmp函数)

news2024/11/18 17:46:33

7.strcmp函数

*简单使用

cplusplus的介绍 点我跳转

strcmp:string compare 字符串比较

具体讲解见此文 点我跳转

*例题

求下列代码的执行结果

#define   _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
int main()
{
	char arr1[20] = { "\0Hello World!" };
	char arr2[20] = { "\0Hello" };
	int ret = strcmp(arr1,arr2);
	printf("%d", ret);
	return 0;
}

答案速查:

分析:

strcmp函数的比较原理是一个一个字符比较,由于一开始两个字符串都是\0,因此strcmp直接返回0,后面的内容不再比较

*模拟实现

设计一个函数sim_strcmp

string1简写为str1,string2简写为str2

和strcmp函数一样,两个类型为char*的参数和一个类型为size_t的参数

返回类型为int

#define   _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int sim_strcmp(const char* str1, const char* str2)//不让str1和str2的内容改变
{
	while (*str1 == *str2)
	{
		if (*str1 == '\0')
		{
			return 0;
		}
		str1++;
		str2++;
     }

	if (*str1 > *str2)
		return 1;
	else
		return -1;

}
int main()
{
	char arr1[20] = { "Hello" };
	char arr2[20] = {"Helabc"};
	int ret = sim_strcmp(arr1,arr2);
	printf("%d", ret);
	return 0;
}

注意:*str1 == *str2有两种情况!

1.没有比完,中途相等

2.比完了(\0为标志),相等(特殊情况优先考虑)

推荐阅读:

51.【C语言】字符函数和字符串函数(strcpy函数)

52.【C语言】 字符函数和字符串函数(strcat函数)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2136421.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MoE 混合专家模型

MoE特点 做了特征增广&#xff1b;门控机制保证了特征增广的同时模型不会过拟合。 大模型中会使用到MoE技术。 简单实现 实现一个简单的linear混合专家模型。这里每个专家是一个Linear。 MoE简单理解 import torch import torch.nn as nn import torch.nn.functional as F#…

军用软件安全性可靠性设计与编码规范技术培训

​课程介绍&#xff1a; 随着我国武器装备数字化、智能化水平不断提高&#xff0c;软件在武器装备中的作用越来越关键。由于软件能以人所不能比的速度可靠地完成关键控制任务&#xff0c;几乎在每个重要系统中都由计算机系统来进行控制&#xff0c;软件在运行和控制危险以及在…

一个软件分发和下载的网站源码,带多套模板

PHP游戏应用市场APP软件下载平台网站源码手机版 可自行打包APP&#xff0c;带下载统计&#xff0c;带多套模板&#xff0c;带图文教程 代码下载&#xff1a;百度网盘

Unity生命周期_一些容易忽略的点>重复的生命周期代码会执行子类的。

图 官方的图&#xff1a;https://docs.unity.cn/cn/2019.4/Manual/ExecutionOrder.html 忽略点 父类和子类有相同的生命周期 问题描述&#xff1a; 当父类和子类都写了Awake &#xff0c;会执行子类的Awake &#xff0c;而不会执行父类的Awake using UnityEngine;public …

【Ubuntu】Ubuntu双网卡配置 实现内外网互不影响同时可用

【Ubuntu】Ubuntu双网卡配置 实现内外网互不影响同时可用 建议前提配置用到的命令参考文献&#xff1a; 建议 本文仅作个人记录&#xff0c;请勿完全照搬&#xff0c;建议直接看此视频&#xff0c;按作者的步骤进行配置 linux配置内外网&#xff08;ubuntu举例&#xff09;&am…

c++面试-语法糖(一)

c面试-语法糖(一) 1、const关键字的作用&#xff1f;(变量&#xff0c;参数&#xff0c;返回值) 定义常量值&#xff1a;const 可以用于定义常量变量&#xff0c;其值在初始化后不能被修改。 const int MAX_SIZE 100;修饰指针&#xff1a;const 可以修饰指针&#xff0c;表示…

第158天:安全开发-Python-Socket编程反弹Shell分离免杀端口探针域名爆破

前置知识 使用 socket 模块 1. 导入模块 首先&#xff0c;你需要导入 Python 的 socket 模块。 import socket 2. 创建套接字 使用 socket.socket() 函数创建一个新的套接字。这个函数可以接收两个参数&#xff1a;地址族和套接字类型。 地址族&#xff08;Address Family&…

【鸿蒙】HarmonyOS NEXT星河入门到实战9-组件化开发进阶应用状态管理

目录 1.1 创建页面 1.2 页面跳转和后退 1.3 页面栈 1.4 路由模式 1.5 路由传参 2、生命周期 3、Stage模型 3.1 目录概览 3.2 app.json5应用配置 3.3 module.json5模型配置 3.4 UIAbility组件 3.5 UIAbility的添加和设置启动 3.6 UIAbility组件的生命周期 3.7 拉起另…

LSS如何创建视锥

先创建图像(u,v,d)坐标系下视锥 再根据相机内外参,将图像坐标系下uvd视锥x6,再调整到世界坐标系下XYZ视锥 1 完整代码 de

KOC营销崛起:TikTok带货新力量,助力跨境电商发展

近年来KOC这一新的营销角色悄然崛起&#xff0c;成为了跨境电商品牌推广的重要新力量。KOC虽非传统意义上的大网红&#xff0c;但他们凭借真实、接地气的分享&#xff0c;逐渐获得了大量的关注和信任。本文Nox聚星将和大家探讨KOC营销的崛起&#xff0c;分析其优势。 一、KOC营…

Java多线程编程-基础篇

多线程相关的概念 并发 并发是指在同一时间段内&#xff0c;两个或多个任务在同一个处理器上交替执行&#xff0c;使得在宏观上看起来像是同时进行。并发是通过快速切换任务来模拟同时执行的效果&#xff0c;实际上在任何一个时刻点上只有一个任务在执行。 也就是说&#xff0…

计算机毕业设计 智慧物业服务系统的设计与实现 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…

数字IC设计\FPGA 职位经典笔试面试--整理

注&#xff1a; 资料都是基于网上一些博客分享和自己学习整理而成的 1&#xff1a;什么是同步逻辑和异步逻辑&#xff1f; 同步逻辑是时钟之间有固定的因果关系。异步逻辑是各时钟之间没有固定的因果关系。 同步时序 逻辑电路的特点&#xff1a;各触发器的时钟端全部连接在一…

MFC工控项目实例之十五定时刷新PC6325A模拟量输入

承接专栏《MFC工控项目实例之十四模拟量信号名称从文件读写》 1、在BoardTest.h文件中添加代码 class CBoardTest : public CDialog { public:short m_saveData[32];unsigned short m_cardAddr;CBoardTest(CWnd* pParent NULL); // standard constructorCButtonST m_btnS…

64位系统中不支持In.vi与Out.vi的原因

在LabVIEW开发环境中&#xff0c;使用In.vi和Out.vi可以直接进行端口读写操作&#xff0c;这在32位操作系统中运行良好。然而&#xff0c;随着64位操作系统的普及&#xff0c;特别是Windows Vista及之后的系统版本&#xff0c;LabVIEW中这些VI的支持逐渐被移除。LabVIEW 2012是…

dedecms靶场(四种webshell姿势)

姿势一:通过文件管理器上传WebShell 1.登陆到后台点击【核心】【文件式管理器】【文件上传】将准备好的一句话木马上传 2.点击访问成功蚁剑连接 姿势二:修改模板文件拿WebShell 1.点击【模板】【默认模板管理】【index.htm】【修改】 在文件修改中添加一句话木马 保存 2.点击…

环境搭建2(游戏逆向)

#include<iostream> #include<windows.h> #include<tchar.h> #include<stdio.h> #pragma warning(disable:4996) //exe应用程序 VOID PrintUI(CONST CHAR* ExeName, CONST CHAR* UIName, CONST CHAR* color, SHORT X坐标, SHORT y坐标, WORD UIwide, W…

438 找到字符串中所有字母异位词

解题思路&#xff1a; \qquad 这个题目解法没什么特别的&#xff0c;遍历所有子串&#xff0c;比较与目标字符串是否满足异位词即可。唯一需要注意的是&#xff0c;提示s和p仅包含小写字母&#xff0c;且异位词不关心字符的顺序&#xff0c;可以使用长度为26的数组&#xff0c…

Unity3D类似于桌面精灵的功能实现

前言&#xff1a; 由于最近在做游戏魔改&#xff0c;很多功能在游戏里面没法实现&#xff08;没错&#xff0c;说的就是排行榜&#xff09;&#xff0c;所以准备用Unity3D开发一个类似于桌面精灵的功能部件&#xff0c;实现效果如下&#xff1a; PS&#xff1a;有需要定制的老…

MySQL聚合统计

【数据库】MySQL聚合统计 王笃笃-CSDN博客https://blog.csdn.net/wangduduniubi?typeblog显示平均工资低于2000的部门和它的平均工资 mysql> select deptno,avg(sal) deptavg from emp group by deptno; --------------------- | deptno | deptavg | --------------…