字符串也可以比较大小?C语言的strcmp函数

boyanx1个月前技术教程13

在C语言中,因为字符串没有被封装成对象,所以直接用==、!=比较。C语言提供了一个用于字符串比较的函数类型strcmp。

注意,字符串和字符完全不同,因为不同的编译器实现问题,返回值的情况也有所变化。

strncat()函数,用于两个字符串的拼接。
(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码的差值。

相关文章

C/C++编程笔记:C语言字符串比较函数,超详细,值得收藏

void *memset(void *dest, int c, size_t count);将dest前面count个字符置为字符c.返回dest的值.void *memmove(void *dest...

S7*200SMART-比较指令解析

比较指令是将两个操作数或字符串按指定条件进行比较,当比较条件成立时,其触点闭合,后面的电路接通;当比较条件不成立时,比较触点断开,后面的电路不接通。比较指令的运算符有6种,其操作数可以为字节、双字、整...

DOS批处理时字符串比较大小问题,a小于A,97

我们都知道a、A的ASCII码分别是97、65,但DOS命令中进行字符大小比较时出现a小于A的情况,即a<A,小写字母<大写字母?主要原因是命令是扩展使用状态,此时可加/i开关,用于不区分...

小小的字符串,在PLC编程中不容小觑,到底有何特别 ?

字符串String不仅在高级语言中很常见,同样在PLC编程中也是必不可少。读取产品的二维码,生产配方的工单、设备编号等这些运用都需要String。以下分享几个独特之处:1:它是怎么存储在PLC寄存器地...

Python高手都在用的字符串拼接神器!.join()方法你真的会用吗?

还在用+号手动拼接字符串?小心内存爆炸和效率“翻车”!Python中有一个隐藏的字符串处理神器——.join(),它能让你的代码简洁高效,轻松应对海量数据拼接!今天,3分钟带你解锁它的高阶玩法,告别低...

不允许你还不会的Python 文件与字符串处理高效技巧

掌握文件和字符串的高效处理技巧是Python编程中的重要能力。以下是一些专业级的优化技巧和实践方法:一、文件处理高效技巧1. 文件读取优化1.1 大文件逐行读取# 标准方法(内存友好) with op...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。