c语言之strcmp函数使用和实现

news/2025/1/14 18:36:01/

文章目录

  • 前言
  • 一、strcmp函数使用
  • 二、实现方法


前言

c语言中常用的字符串处理函数strcmp总结。


一、strcmp函数使用

原型

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

strcmp比较两个字符串的大小,一个字符一个字符比较,按ASCII码比较
规定:
第一个字符串大于第二个字符串,则返回大于0的数字
第一个字符串等于第二个字符串,则返回0
第一个字符串小于第二个字符串,则返回小于0的数字

注意:strcmp函数比较两字符串的大小,和字符串本身长度无关

使用

#include<stdio.h>
#include<string.h>
int main()
{char* p1 = "abc";char* p2 = "abc";char* p3 = "abcd";char* p4 = "e";printf("----------------------\n");printf("           %d\n", strcmp(p1,p2 ));printf("----------------------\n");printf("           %d\n", strcmp(p2,p3));  printf("           %d\n", strcmp(p3,p2)); printf("----------------------\n");printf("           %d\n", strcmp(p3,p4));//ASCII   'a' - 'e' =  97 - 101 = -4printf("           %d\n", strcmp(p4,p3)); //ASCII  'a' - 'e' =  101 - 4  =  4printf("           %d\n", 'a');printf("           %d\n", 'e');} 
}

执行

$ gcc strcmp.c  -o strcmp
$ ./strcmp
----------------------0
-----------------------100100
-----------------------4497101

二、实现方法

#include<stdio.h>
#include<string.h>
int Strintcmp(const char * str1, const char * str2)
{//1、两个不同的字符串比较时,直接 return (*str1-*str2);//返回两字符相减的ASCII码值//2、字符串相同时进入while循环,字符串结束符是'\0',添加一个循环的结束条件!(*str1|*str2)=='\0')while ((*str1 == *str2)&&(!(*str1|*str2)=='\0')){str1++;str2++;}return (*str1-*str2);//返回两字符相减的ASCII码值
}int main()
{char* p1 = "abc";char* p2 = "abc";char* p3 = "abcd";char* p4 = "e";printf("----------------------\n");printf("           %d\n", Strintcmp(p1,p2 ));printf("----------------------\n");printf("           %d\n", Strintcmp(p2,p3));  printf("           %d\n", Strintcmp(p3,p2)); printf("----------------------\n");printf("           %d\n", Strintcmp(p3,p4));  printf("           %d\n", Strintcmp(p4,p3)); printf("           %d\n", 'a');printf("           %d\n", 'e');} 

执行

$ gcc strcmp.c  -o strcmp
$ ./strcmp
----------------------0
-----------------------100100
-----------------------4497101

http://www.ppmy.cn/news/1151635.html

相关文章

汽车RNC主动降噪算法DSP C程序实现

汽车RNC主动降噪算法C程序 是否需要申请加入数字音频系统研究开发交流答疑群(课题组)?可加我微信hezkz17, 本群提供音频技术答疑服务,车载

python 之xml 使用原生xml.dom

一、xml操作 使用xml进行创建<Placemark id"placemark_id"><name>模型</name><Location><longitude>121.6097139799135</longitude></Location> </Placemark>from xml.dom import minidom# 创建一个新的XML文档 do…

pytorch中的池化函数

PyTorch 提供了多种池化函数&#xff0c;用于对输入数据进行不同类型的池化操作。以下是一些常用的 PyTorch 池化函数&#xff1a; 平均池化&#xff08;Average Pooling&#xff09;: nn.AvgPool1d: 一维平均池化。nn.AvgPool2d: 二维平均池化。nn.AvgPool3d: 三维平均池化。 …

Linux友人帐之系统管理与虚拟机相关

一、虚拟机相关操作 1.1虚拟机克隆 虚拟机克隆是指将一个已经安装好的虚拟机复制出一个或多个完全相同的副本&#xff0c;包括虚拟机的配置、操作系统、应用程序等&#xff0c;从而节省安装和配置的时间和资源。 虚拟机克隆的主要用途有&#xff1a; 创建多个相同或相似的虚拟…

走进Spark

什么是Spark 是一个基于内存的&#xff0c;用于大规模数据处理&#xff08;离线计算、实时计算、快速查询&#xff08;交互式查询&#xff09;&#xff09;的统一分析引擎&#xff0c;因为是基于内存的所以可以更快的完成任务 离线计算:离线计算一般存储在HDFS中使用MapReduce或…

电商数据接口平台1688阿里巴巴获得搜索词推荐获取商品详情数据

1688.item_search_suggest-获得搜索词推荐 公共参数 请求地址: 注册请求接入调用key 名称类型必须描述keyString是调用key&#xff08;必须以GET方式拼接在URL中&#xff09;secretString是调用密钥api_nameString是API接口名称&#xff08;包括在请求地址中&#xff09;[ite…

uni-app:本地缓存的使用

uni-app 提供了多种方法用于本地缓存的操作。下面是一些常用的 uni-app 本地缓存方法&#xff1a; uni.setStorageSync(key, data): 同步方式将数据存储到本地缓存中&#xff0c;可以使用对应的 key 来获取该数据。 uni.setStorage({key, data}): 异步方式将数据存储到本地缓存…

【小巧玲珑】文件太大,怎么办?分卷压缩技术了解下,这才是压缩技术

【小巧玲珑】文件太大&#xff0c;怎么办&#xff1f;分卷压缩技术了解下&#xff0c;这才是压缩技术 1、痛点2、场景重现2.1 jar包2.1 ZIP压缩 3、压缩步骤3.1 新建压缩文件3.2 压缩结果 4、解压步骤5、效果6、jar压缩算法 1、痛点 通过浏览器客户端访问云服务&#xff0c;文…