C语言strcmp()函数:比较字符串(区分大小写)
头文件:#include <string.h>
strcmp() 用来比较字符串(区分大小写),其原型为:
int strcmp(const char *s1, const char *s2);
【参数】s1, s2 为需要比较的两个字符串。
字符串大小的比较是以ASCII 码表上的顺序来决定,此顺序亦为字符的值。strcmp()首先将s1 第一个字符值减去s2 第一个字符值,若差值为0 则再继续比较下个字符,若差值不为0 则将差值返回。例如字符串"Ac"和"ba"比较则会返回字符"A"(65)和'b'(98)的差值(-33)。
【返回值】若参数s1 和s2 字符串相同则返回0。s1 若大于s2 则返回大于0 的值。s1 若小于s2 则返回小于0 的值。
注意:strcmp() 以二进制的方式进行比较,不会考虑多字节或宽字节字符;如果考虑到本地化的需求,请使用 strcoll() 函数。
【html" target="_blank">实例】对 4 组字符串进行比较。
#include <string.h> main(){ char *a = "aBcDeF"; char *b = "AbCdEf"; char *c = "aacdef"; char *d = "aBcDeF"; printf("strcmp(a, b) : %d\n", strcmp(a, b)); printf("strcmp(a, c) : %d\n", strcmp(a, c)); printf("strcmp(a, d) : %d\n", strcmp(a, d)); }
输出结果:
strcmp(a, b) : 32 strcmp(a, c) :-31 strcmp(a, d) : 0
C语言strcasecmp()函数:判断字符串是否相等(忽略大小写)
头文件:#include <string.h>
定义函数:
int strcasecmp (const char *s1, const char *s2);
函数说明:strcasecmp()用来比较参数s1 和s2 字符串,比较时会自动忽略大小写的差异。
返回值:若参数s1 和s2 字符串相同则返回0。s1 长度大于s2 长度则返回大于0 的值,s1 长度若小于s2 长度则返回小于0 的值。
范例
#include <string.h> main(){ char *a = "aBcDeF"; char *b = "AbCdEf"; if(!strcasecmp(a, b)) printf("%s=%s\n", a, b); }
执行结果:
aBcDeF=AbCdEf
本文向大家介绍JavaScript比较两个对象是否相等的方法,包括了JavaScript比较两个对象是否相等的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JavaScript比较两个对象是否相等的方法。分享给大家供大家参考。具体如下: 在Python中可以通过cmp()内建函数来比较两个对象所包涵的数据是否相等(数组、序列、字典)。但是在javascript语言中并没有相关的实现。
本文向大家介绍C语言字符串大小比较,包括了C语言字符串大小比较的使用技巧和注意事项,需要的朋友参考一下 C语言字符串大小比较 以上所述就是本文的全部内容了,希望大家能够喜欢。
本文向大家介绍Java比较两个List的值是否相等的方法,包括了Java比较两个List的值是否相等的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Java比较两个List的值是否相等的方法。分享给大家供大家参考。具体如下: 假设两个队列 {1,2,3,4} 和 {4,3,2,1} ,这个方法用来比较这两个队列中包含的值是否相等 希望本文所述对大家的java程序设计有所帮助。
我做了这个扩展方法来检查一个类型是否实现了一个接口。要使其正常工作,它需要比较两种类型。然而,这种比较似乎并不现实: 这是我比较失败的情况: 正如注释中提到的,如果我比较类型名,那么它总是按照预期工作。我想知道这是怎么回事。
比较两个NumPy数组是否相等的最简单方法是什么(其中相等定义为:A=B iff,用于所有索引i:
问题内容: 字符串部分是: 但是当我与: 以上结果为假, 我很困惑,所以有人可以告诉我为什么吗? 问题答案: 该==运营商比较对象引用,在不值秒。 要比较 的值,请使用以下方法: Java中的任何其他对象都是如此-比较值时,请始终使用equals方法而不是使用==运算符。 该方法是的一部分,并且应被将以一种或另一种方式进行比较的类覆盖。