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的魔法藏书室

原文地址:https://www.cnblogs.com/zobol/p/14356426.html