C语言中,两个字符串可以用关系运算符进行大小比较吗!!!求大神!求解析!

C语言中,两个字符串可以用关系运算符进行大小比较吗!!!求大神!求解析!,第1张

C语言字符比较不能直接用关系运算符进行正确比较。
可以用 字符串比较函数strcmp
格式: strcmp(字符数组名1,字符数组名2)
功能:按照ASCII码顺序比较两个数组中的字符串,并由函数返回值返回比较结果。
字符串1=字符串2,返回值=0;
字符串2〉字符串2,返回值〉0;
字符串1〈字符串2,返回值〈0。
本函数也可用于比较两个字符串常量,或比较数组和字符串常量。

字符串比较就是从两个字符串第一个位置开始比较对应位置上的字符的ASCII码值,直到分出大小或者达到某个字符串的结尾,先到达结尾的字符串小。例如: "AC"<"B" 因为A的ASCII码值比B小,那么后面的就不在比较了 "ACA"<"ACAX" 前面三个"ACA"都相同,最后一个前面的字符串已到末尾,所以小

从左到右,依次比较字母的ASCII码的大小,遇到不同字符或'\0'结束。

基本形式:strcmp(str1,str2)

str1=str2时,返回零;str1<str2时,返回负数;str1>str2时,返回正数。

比如Apple和Banana比较,先比较第一个字母A和B,A的ASCII码是65,B的是66,所以Apple<Banana。

compare和computer比较,前4个字母相同,第五个字母a和u,a的ASCII码是97,u的是117,所以compare<computer。

扩展资料:

特别注意:

strcmp(const char s1,const char s2)这里面只能比较字符串,即可用于比较两个字符串常量,或比较数组和字符串常量,不能比较数字等其他形式的参数。

ANSI标准规定,返回值为正数,负数,0 。而确切数值是依赖不同的C实现的。

1、当两个字符串不相等时,C标准没有规定返回值会是1 或 -1,只规定了正数和负数。

2、有些会把两个字符的ASCII码之差作为比较结果由函数值返回。但无论如何不能以此条依据作为程序中的流程逻辑。

您好,我是软件之家的♂北极熊熊,很高兴为您解答。
C语言字符串的比较规则就是按两个字符串从头开始比较字符的ASCII码大小
比如"abc">"aacvs",和长度没关系
从第一个字符开始比,如果字符串A的字符>字符串B的字符,则A>B
如果相同,就一直往后比
如满意,谢谢五星采纳~~~~~


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/10290572.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-07
下一篇 2023-05-07

发表评论

登录后才能评论

评论列表(0条)

保存