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