C语言学习之我见-strncmp()字符串比较函数(控制范围)
strncmp()函数,用于范围内,两个字符串的比较,n表示最大比较范围。
(1)函数原型
int strncmp(const char *_Str1,const char *_Str2,size_t _MaxCount);
(2)头文件
string.h
(3)功能
比较const char *_Str1,const char *_Str2所指的字符串内容,
并根据size_t _MaxCount确定比较范围,第一个遇到的不相等字符ASCII值差确定返回值。。\
相等:0
范围内_Str大于_Str2:1
范围内_Str小于_Str2:-1
(4)基础实例代码
printf("%d\n",strncmp("zobola","zobolb",5));
printf("%d\n",strncmp("zobola","zobolb",6));
(5)输出情况

(6)问题1:字符可以不可以
回答,不可以,字符char跟字符数组首地址char*完全不同
(7)问题2:n超过字符数组最大会怎么样?
回答:没有关系,N本身就是最大范围,而不是确定范围
printf("%d\n",strncmp("zobola","zobolb",1000));

(8)问题3:如果输入是字符数组,而不是字符串会怎么样?
回答:函数会只访问到'0'为止,如果没有则访问到结尾
char a[]="zobol\0we";
char b[]="zobol\0sds";
printf("%d\n",strncmp(a,b,9));

(9)问题4:如果两个字符串大小不一样怎么比?
回答,默认不足的补全为'0'
如有帮助,欢迎加我的个人公众号:zobol的魔法藏书室
C语言学习之我见-strncmp()字符串比较函数(控制范围)的更多相关文章
- C语言学习之我见-strcmp()字符串比较函数
strcmp()函数,用于两个字符串的比较. (1)函数原型 int strcmp(const char *_Str1,const char *_Str2); (2)头文件 string.h (3)功 ...
- C语言学习之我见-strcpy()字符串复制函数
strcpy()函数,用于两个字符串值的复制. (1)函数原型 char * strcpy(char * _Dest,const char * _Source); (2)头文件 string.h (3 ...
- C语言学习之我见-strlen()字符串长度函数
strlen()函数,负责给出字符串的长度.注意是字符串的长度,不是字符数组的长度. (1)函数原型: size_t __cdecl strlen(const char *_Str); (2)头文件` ...
- C语言学习之我见-strncpy()字符串复制函数(可控制范围)
strncpy()函数,用于两个字符串值的复制. (1)函数原型 char *strncpy(char * _Dest,const char * _Source,size_t _Count); (2) ...
- C语言学习018:strdup复制字符串数组
在C语言学习005:不能修改的字符串中我们知道字符串是存储在常量区域的,将它赋值给数组实际是将常量区的字符串副本拷贝到栈内存中,如果将这个数组赋值给指针,我们可以改变数组中的元素,就像下面那样 int ...
- C语言学习之我见-strncat()可调整的字符串拼接函数
strncat()函数,用于两个字符串的拼接. (1)函数原型 char * strncat(char * Dest,const char * Source,size_t _Count)` (2)头文 ...
- Swift语言学习(四)字符串与Array等集合的使用
Swift 提供了C和Objective-C基础类型的自己一套版本,包括用于整型的Int,用于浮点值的Double和Float,用于布尔值的Boolean,和用于文本数据的String.Swift还提 ...
- c语言学习笔记 - 指针和字符串
前面学习了字符串是一种字符数组,又知道了指针变量和数组的关系,这里来看一下指针和字符串的关系. #include <stdio.h> int main(void){ char str = ...
- 吴裕雄--天生自然C++语言学习笔记:C++ 字符串
C++ 提供了以下两种类型的字符串表示形式: C 风格字符串 C++ 引入的 string 类类型 C 风格的字符串起源于 C 语言,并在 C++ 中继续得到支持.字符串实际上是使用 null 字符 ...
随机推荐
- Spring Boot-Profile
文章目录 前言 一.Profile是什么? 二.使用步骤 1.多Profile文件 2.使用yml方式 3.激活方式 总结 前言 不同的环境解释:比如我们开发人员使用开发环境,项目发布时使用生产环境, ...
- Mybatis-plugins分页助手实现查询数据分页
其他具体代码接上文->mybatis自定义处理器 1.导入坐标 <dependency> <groupId>com.github.pagehelper</group ...
- 为vscode开发一款svn右键菜单扩展
在我平时的工作中会经常用到svn blame这个命令,但是vscode现有的svn扩展普遍都不能自定义右键菜单. 所以我产生一个想法:自己动手为vscode开发一款svn的扩展来定制右键菜单,本文记录 ...
- Java学习day2
今天学习了Java的数据类型.运算符.选择循环结构以及数组. Java所有的关键字全部小写 Java的数据类型与c语言相似,但是c语言定义数组时可以不主动对其初始化,而Java则必须先初始化,有动态和 ...
- 使用pip管理库
2.5 使用pip管理库 安装Python后会默认安装pip工具,该工具可以用来安装.升级和移除库.默认情况下 pip 将从[Python Package Index]https://pypi.org ...
- github ations 入门使用
在使用之前,我们了解一下什么是 Github Actions. 在 GitHub Actions 的仓库中自动化.自定义和执行软件开发工作流程. 您可以发现.创建和共享操作以执行您喜欢的任何作业(包括 ...
- 计算机系统6-> 计组与体系结构3 | MIPS指令集(中)| MIPS汇编指令与机器表示
上一篇计算机系统5-> 计组与体系结构2 | MIPS指令集(上)| 指令系统从顶层讲解了一个指令集 / 指令系统应当具备哪些特征和工作原理.这一篇就聚焦MIPS指令集(MIPS32),看看其汇 ...
- Python识别图片中的文字
1 import os,glob 2 def photo_compression(original_imgage,tmp_image_path): 3 '''图片备份.压缩:param origina ...
- 技术管理进阶——一线Leader与大Leader的差异是什么?
原创不易,求分享.求一键三连 前几年,因为下属的一些骚操作,Leader对我产生了误会,这导致了一些"不信任",这种不信任在短时间会让人丧失安全感,很多人会因此患得患失. 这种 ...
- 搭建PWN学习环境
环境清单 系统环境 Ubuntu22.04 编写脚本 pwntools ZIO 调试 IDA PRO gdb pwndbg ROP工具 checksec ROPgadget one_gadget Li ...