strcmp函数用法

strcmp 大于字符串的大小。
按ASCII码一一比较。

例如,“A”小于“B”,则返回负数。
“computer”大于“compare”,返回正数。
“hello”与“hello”相同,返回 0。

请注意大写字母:a 大于 Z。
你无法比较数字。
不要乱用返回值,看符号就行。

我上周刚刚处理了一个,if(strcmp(a,b)==1 ) 是 false。
这是第一个。

字符串比较函数strcmp是怎样比较出两个字符串的大小的?

哎呀,这个strcmp函数,我们得好好谈谈了。
这件事就像两个人竞争看谁能先输出不同的字符,或者击中字符串的末尾(即“\0”字符)。
这个函数的名字叫strcmp,全称是stringcompare,意思是字符串比较。

上大学的时候,老师给我们讲过这个函数,说是这样的:int strcmp(const char str1 , const char str2 )。
你看,str1 和str2 这两个参数是指向字符串的指针。

我们举一个具体的例子来说明一下。
例如,如果我想比较“A”和“B”,该函数将从左到右逐个字符进行比较。
首先,A的ASCII码是6 5 ,B的ASCII码是6 6 ,所以“A”比“B”小。
该函数将返回一个负数。

再比如“Apple”和“Banana”,首先比较A和B。
A比B小,所以“Apple”比“Banana”小。
该函数将返回一个负数。

但是,这个函数返回的数字并不是简单的1 或-1 它可以是正数、负数或 0。
此返回值是根据两个字符串之间的 ASCII 码差异确定的。
但是,说实话,这并不是一个固定的规则,不同的C语言实现可能有不同的返回值。

记得有一次写代码的时候,遇到了这样的问题。
当时我比较了两个字符串,返回的数字要么是1 ,要么是-1 我以为这是一个固定的规则。
查阅资料后,我发现事实并非如此。

所以,使用这个strcmp函数时一定要小心。
它只能比较字符串,不能用它来比较数字或其他类型的参数。
例如,您不能用它来比较“A”和“2 ”。

最后要提醒大家的是,这个函数的返回值不能直接用来做逻辑判断。
例如,你不能说如果strcmp返回一个正数,就执行一个操作。
由于C语言实现不同,返回值可能不同。
你要根据实际情况来处理。

c语言strcmp函数怎么用

strcmp()是C语言中的字符串比较工具,就是比较两个字符串哪个大、哪个小。
简单来说,就是一个接一个地看字符,哪个小就获胜。
快来看看怎么玩:
1 该函数名为strcmp,参数是两个字符串指针,如str1 和str2 2 、返回值分三种情况:0相等、负的str1 小于str2 、正的str1 大于str2 3 .注意区分大小写,例如“Apple”比“apple”小。

如何使用? 来吧,握住你的手:
c 包含<字符串.h> 包括
int main() { char str1 [] = "苹果"; char str2 [] = "香蕉"; int 结果 = strcmp(str1 , str2 ); 如果(结果== 0){ printf("字符串相同\n"); } 否则 if(结果 < 0>返回0; }
不要忘记在开头包含

常见问题解答:

问:为什么“apple”和“apple”比较返回0? 答:因为都是一样的,从头到尾,没有一个字符有什么区别。


问:如何实现不区分大小写的比较? 答:使用strcasecmp()或者写一个函数转换为小写然后比较。

请记住,strcmp 是一个强大的字符串比较工具。
如果使用得当,排序、验证和判断都很容易。
你自己看看,好用吗?