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

(6)基础实例代码2:
printf("%d\n",strcmp("aa","az"));
printf("%d\n",strcmp("az","aa"));
(7)输出情况2:

(8)问题1:字符char可以比较吗?
回答:不可以,函数要求输入的是一个字符数组的首地址char*。而不是一个字符类型char。本质上,第一个是地址,第二个是一个整数类型(-128~127)
(9)问题2:返回值1,-1的取值是如何进行的
回答:根据两个字符数组最先出现的,相同下标的不同字符对应的ASICC码,做减法。
const char *_Str1-const char *_Str2
(10)问题3:返回值可以为32、-45、111吗?
回答:可以,有的编译器这个函数的实现,是根据ASICC码的差值。
如有帮助,欢迎关注我的个人公众号:zobol的魔法藏书室
C语言学习之我见-strcmp()字符串比较函数的更多相关文章
- C语言学习之我见-strncmp()字符串比较函数(控制范围)
strncmp()函数,用于范围内,两个字符串的比较,n表示最大比较范围. (1)函数原型 int strncmp(const char *_Str1,const char *_Str2,size_t ...
- 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)头文 ...
- 吴裕雄--天生自然C++语言学习笔记:C++ 字符串
C++ 提供了以下两种类型的字符串表示形式: C 风格字符串 C++ 引入的 string 类类型 C 风格的字符串起源于 C 语言,并在 C++ 中继续得到支持.字符串实际上是使用 null 字符 ...
- strcmp()字符串比较函数用法
函数原型: int strcmp(const char *s1, const char *s2); 头文件: #include <string.h> 功能: 用来比较两个字符串 参数: s ...
- Swift语言学习(四)字符串与Array等集合的使用
Swift 提供了C和Objective-C基础类型的自己一套版本,包括用于整型的Int,用于浮点值的Double和Float,用于布尔值的Boolean,和用于文本数据的String.Swift还提 ...
随机推荐
- paramterType和resultType的区别
resultType是sql语句查询结果集的封装类型,也就是说把sql查询的结果封装在bean里返回回去,是存数据用的. paramType是从传过来的Bean中取数据放进例如insert语句的val ...
- 安全市场迎来新挑战,FinClip助力车联网数据安全
随着汽车工业的发展与电子技术的进步,智能汽车迎来了前所未有的蓬勃发展,随着汽车电动化.网联化.智能化交融发展,车辆运行安全.数据安全和网络安全风险交织叠加,安全形势更加复杂严峻......
- Servlet 3.1学习笔记
Servlet 3.1学习笔记 参考文档 Servlet 3.1标准 什么是 Servlet ? Servlet 是基于 Java 平台的 Web 组件,由一个容器管理,能够生成动态内容. 什么是 S ...
- drf的JWT认证
JWT认证(5星) token发展史 在用户注册或登录后,我们想记录用户的登录状态,或者为用户创建身份认证的凭证.我们不再使用Session认证机制,而使用Json Web Token(本质就是tok ...
- shell、bash和sh区别
shell是你(用户)和Linux(或者更准确的说,是你和Linux内核)之间的接口程序.你在提示符下输入的每个命令都由shell先解释然后传给Linux内核. shell 是一个命令语言解释器(co ...
- 能直接调试的开放API?这个API Hub绝了
01 此前时不时会有一些研发小伙伴和我诉苦,说很多企业由于人力财力限制或者需求不强,会直接购买使用第三方的开放API,这样一来, 一则由于开放项目不是量身定制的,寻找自己合适的接口也要搜索调研蛮多 ...
- 学习打卡——Mybatis—Plus
今天看完了Mybatis-Plus的视频,在某些方面来看MP确实简化了很多操作,比如自动生成代码等等.学习过程的代码实例也到同步到了gitee和github
- Mybatis结果集映射问题
之前的数据库图简单都是纯小写格式,这一次做项目为了显得正规一些,模拟实际的情况,采用了驼峰命名的规则,这时候就遇到了结果匹配的问题. 之前只要 <select id="select&q ...
- 2021.07.23 P2474 天平(差分约束)
2021.07.23 P2474 天平(差分约束) [P2474 SCOI2008]天平 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题意: 已知A,B和每两个点点权,求点权i, ...
- 使用 VS Code 撰写 Markdown 文档
众所周知, VS Code 是微软和社区一起开发的一款很优秀的高级代码编辑器.它不仅可以写出一手好代码,还能写出一篇好文章.利用 Markdown 就可以写出一篇排版美观的技术文章了. 而 Markd ...