strcmp函数和strncmp函数【C语言】

news2024/11/25 14:45:35

strcmp函数和strncmp函数

  • strcmp函数
    • 一、strcmp函数的简介
    • 二、strcmp函数的功能
    • 三、strcmp函数的使用
    • 四、strcmp函数的模拟
  • strncmp函数
    • 一、strncmp的简介
    • 二、strncmp函数的功能
    • 三、strncmp函数的使用

strcmp函数

一、strcmp函数的简介

strcmp函数在库函数中的定义:

int strcmp ( const char * str1, const char * str2 );

参数:
1.str1:要比较的字符串
2.str2:要比较的字符串
返回值:

返回值表明
小于0str1<str2
等于0str1=str2
大于0str1>str2

二、strcmp函数的功能

比较两个字符串
将 C 字符串 str1 与 C 字符串 str2 进行比较。
此函数开始比较每个字符串的第一个字符。如果它们彼此相等,则继续以下对,直到字符不同或达到终止空字符。

三、strcmp函数的使用

#include<stdio.h>
#include<string.h>
int main()
{
	char str1[] = { "abc" };
	char str2[] = { "abcdefg" };
	printf("%d", strcmp(str1, str2));
	return 0;
}

在这里插入图片描述

四、strcmp函数的模拟

#include<stdio.h>

int my_strcmp(const char* str1, const char* str2)
{
	while (*str1 == *str2)
	{
		if (str1 == '\0')
			return 0;
		str1++;
		str2++;
	}
	if (*str1 > str2)
		return 1;
	else
		return -1;
}
int main()
{
	char str1[] = { "abc" };
	char str2[] = { "abcdefg" };
	printf("%d", my_strcmp(str1, str2));
	return 0;
}

运行结果
在这里插入图片描述

strncmp函数

一、strncmp的简介

strncmp函数在库函数中的定义:

int strncmp ( const char * str1, const char * str2, size_t num );

参数:str1要比较的 C 字符串。
str2:要比较的 C 字符串。
num:要比较的最大字符数。(size_t是无符号整数类型)
返回值

返回值表明
小于0str1<str2
等于0str1=str2
大于0str1>str2

二、strncmp函数的功能

与strcmp基本一样,只是strncmp加入的num限制比较的个数。
比较前num个元素。

三、strncmp函数的使用

#include <stdio.h>
#include <string.h>
int main()
{
	char str1[] = { "abcd" };
	char str2[] = { "abcdefg" };
	printf("%d", strncmp(str1, str2,4));
	return 0;
}

运行截图
在这里插入图片描述
这里比较的是前四个元素,返回零,说明str1和str2的前四个元素一样。

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

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

相关文章

STM32 ADC基础知识讲解

文章目录 前言一、ADC的基本介绍二、STM32 ADC讲解1.ADC分辨率2.ADC通道讲解3.ADC转换模式单次转换模式连续转换模式 4.扫描模式5.数据对齐方式左对齐右对齐 总结 前言 在正式的学习如何编写ADC代码时我们先来学习一下ADC的基础知识部分&#xff0c;只有掌握好了这些基础知识才…

打造i-SMART智能网联平台,亚马逊云科技助力上汽快速出海

当前在各大外资车企不断加码在华投资之际&#xff0c;越来越多的中国汽车品牌纷纷开始走出国门&#xff0c;加速推进全球化业务&#xff0c;将赛道转至更为广阔的海外市场。 上汽海外出行科技有限公司&#xff08;简称“上汽海外出行”&#xff09;成立于2018年&#xff0c;承…

华为OD机试真题 Java 实现【挑选字符串】【2023 B卷 100分】,附详细解题思路

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;A卷B卷&#xff09;》。 刷的越多&#xff0c;抽中的概率越大&#xff0c;每一题都有详细的答题…

vue的生命周期和执行顺序

1&#xff0c;Vue 生命周期都有哪些&#xff1f; 序号生命周期描述1beforecreate创建前vue实例初始化阶段&#xff0c;不可以访问data,methods&#xff1b; 此时打印出的this是undefined&#xff1b;2created创建后vue实例初始化完成&#xff0c;可以访问data&#xff0c;meth…

postgresql部署及优化

目录 一、postgresql概念 二、PostgreSQL 特征 三、postgres安装与登录 3.1、postgres安装 3.2、postgres使用 3.3.1、postgres登录 3.3.2、修改postgres用户密码 四、PostgreSQL 命令 4.1、PostgreSQL 创建数据库 4.2、删除数据库 4.3、创建表格 4.4、删除表格 一、…

Bard:Google AI的下一代语言模型,支持多语言、语音朗读、图片解析和更多

说起时下火爆的生成式AI&#xff0c;并不是只有ChatGPT。Bard也是一个很优秀的产品&#xff0c;并且刚刚发布的很多有趣的新功能。文末告诉你如何访问Bard。 Google AI在最近的更新中发布了Bard&#xff0c;一个新的语言模型。Bard支持多种语言&#xff0c;包括中文&#xff0…

Hadoop和hive一键启动脚本

#!/bin/bashcd $HADOOP_HOME/sbinsh ./start-all.shcd $HIVE_HOME/binnohup hive --service metastore & 停止hadoop服务 #!/bin/bashcd $HADOOP_HOME/sbinsh ./stop-all.sh 停止hive服务

Stability AI 把绘画门槛打为 0!

本文由 GPT- 4 所创作&#xff0c;配图由 Stable Doodle 生成。 编者按 Stability AI 上新了&#xff01; 其收购的 Clipdrop 发布了全新的 Stable Doodle 工具&#xff0c;我在使用后最为直观的感受就是 —— 把绘画门槛打下来了。 在 Stable Doodle 之前&#xff0c;使用各…

大型企业数字化信创论坛启幕,金蝶携手500强企业论道数字化变革!

7月14日&#xff0c;“数字中国第二届大型企业数字化信创论坛”在数字化新城成都盛大启幕&#xff0c;中国信通院、金蝶携手来自四川省企业联合会、物产中大集团、浙江省交通投资集团、华彩咨询、四川九洲集团、资阳发展投资集团的大咖、专家论道信创&#xff0c;探索中国企业的…

oc uitableView 展示单组数据

设置模型 #import <Foundation/Foundation.h>interface XMGWine : NSObjectproperty (nonatomic,copy) NSString *name; property (nonatomic,copy) NSString *image; property (nonatomic,copy) NSString *money;(instancetype)wineWithDict:(NSDictionary *)dict; end…

智能会议记录:利用剪映和Claude实现高效会议纪要制作

具体操作步骤可以是: 1、使用录音笔或手机录音将会议过程录制下来。 2、将录音文件上传到pc端&#xff0c;使用剪映程序,利用语音转文本和自然语言处理技术,分析音频&#xff0c;生成文字稿。 3、打开Claude网站。 4、粘贴会议文字。 5、输入提示词&#xff1a; 用中文总结该…

代理模式【静态代理和动态代理实现业务功能扩展】

静态代理 我们在不修改业务的情况下想要给它增加一些功能&#xff0c;这就需要使用代理模式。我们不会在原有业务上直接修改&#xff0c;为了避免修改导致程序不可逆转的破坏。三种角色&#xff1a;抽象角色-接口、真实角色-实现类和代理角色-代理类。真实角色和代理角色继承的…

ARM 架构是什么?

ARM&#xff08;Advanced RISC Machines&#xff09;架构是一种处理器架构&#xff0c;它是一种精简指令集计算机&#xff08;RISC&#xff09;架构。ARM架构最初由ARM Holdings&#xff08;现在是SoftBank Group的子公司&#xff09;开发&#xff0c;并在1980年代末和1990年代…

K8s核心概念 Controller

K8s核心概念 Controller Kubernetes核心概念 Controller一、pod控制器controller1.1 Controller作用及分类1.2 Deployment1.2.1 Replicaset控制器的功能1.2.2 Deployment控制器的功能1.2.3 Deployment用于部署无状态应用1.2.4 创建deployment类型应用1.2.5 访问deployment1.2.6…

SpringCloud集成Sleuth+Zipkin进行链路追踪

关于微服务链路追踪的一些概念&#xff1a;【分布式链路追踪】 文章目录 1、整合Seluth2、日志信息分析3、Zipkin介绍4、Zipkin服务端安装5、搭配Sleuth整合客户端Zipkin6、收集数据7、存储trace数据 1、整合Seluth Spring Cloud Sleuth是一个用于追踪的工具&#xff0c;它可以…

ThinkPHP 多对多关联

用多对多关联的前提 如果模型 A 多对多关联模型 C&#xff0c;必须存在一张中间表 B 记录着双方的主键&#xff0c;因为就是靠着这张中间表 B 记录着模型 A 与模型 C 的关系。 举例&#xff0c;数据表结构如下 // 商品表 goodsgoods_id - integer // 商品主键goods_name - va…

【C#】并行编程实战:使用延迟初始化提高性能

在前面的章节中讨论了 C# 中线程安全并发集合&#xff0c;有助于提高代码性能、降低同步开销。本章将讨论更多有助于提高性能的概念&#xff0c;包括使用自定义实现的内置构造。 毕竟&#xff0c;对于多线程编程来讲&#xff0c;最核心的需求就是为了性能。 延迟初始化 - .NET…

手机怎么编辑pdf?这几款工具可以实现

手机怎么编辑pdf&#xff1f;在如今的数字时代&#xff0c;PDF文档已经成为了一种标准的文件格式。然而&#xff0c;当我们需要编辑这些PDF文档时&#xff0c;我们往往需要使用电脑上的专业软件&#xff0c;这给我们带来了很大的不便。不过&#xff0c;有许多手机应用程序可以让…

AIGC 大模型纷纷部署,企业如何为 AI 数据降本增效

编辑 | 宋慧 出品 | CSDN 云计算 AIGC 从年初开始持续爆火&#xff0c;国内各种大模型纷纷涌现&#xff0c;其中模型参数轻松突破千亿数量级。模型中数据的形态、部署也是多种多样的&#xff0c;庞大数据量背后的管理和成本不容小觑。 混合数据厂商肯睿 Cloudera 今年相继发布…

设计模式的概述

目录 分类 创建型模式 结构型模式 行为型模式 类之间的关系 关联关系 聚合关系 组合关系 依赖关系 继承关系 实现关系 设计原则 开闭原则 里氏代换原则 依赖倒转原则 接口隔离原则 合成复用原则 一、分类 创建型模式 用于描述“怎样创建对象”&#xff0c;它…