C语言中strcmp字符串比较函数的判断标准是什么呀?

发布网友

我来回答

1个回答

热心网友

strcmp(str1,str2)函数是比较两个字符串的函数:
设这两个字符串为str1,str2,
若str1==str2,则返回零;
若str1>str2,则返回正数;
若str1<str2,则返回负数。
例如:
该函数的原型声明:
extern
int
strcmp(const
char
*s1,const
char
*s2);
那么,strcmp函数的声明规则是什么?它如何比较两个字符串的大小?
规则如下:
当s1<s2时,返回为负数;
当s1=s2时,返回值=
0;
当s1>s2时,返回正数;
即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止。如:
"A"<"B"
"a">"A"
"computer">"compare"
特别注意:strcmp(const
char
*s1,const
char
*
s2)这里面只能比较字符串,即可用于比较两个字符串常量,或比较数组和字符串常量,不能比较数字等其他形式的参数。
ANSI标准规定,返回值为正数,负数,0
。而确切数值是依赖不同的C实现的。
所以:
用它比较Follow
me和Computer
design的话,它会只比较F与C这两个字符串的首元素的大小,所以Follow
me
比较大。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com