字符串,数组,比较差异元素

本文深入解析了memcmp和strcmp函数的功能及使用场景。memcmp用于比较两个数组的前t个字节,返回值依据数组间的大小关系。strcmp则专门用于字符串比较,逐字符对比直至不同或遇到空字符结束,返回值反映字符串的相对大小。文章强调了正确使用这些函数以避免潜在的错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.两个数组比较 ——memcmp(a,b,t)

1 char a[]="aaaabbb";
2 char b[]="aaccbbb";
3 int t=memcmp(a,b,sizeof(a));//t的结果为-1 
4     
5 int a1[10]={1,2,7};
6 int b1[10]={1,2,1};
7 int t1=memcmp(a1,b1,sizeof(a1));  ////t的结果为1

头文件:#include<string.h>

功能:比较两个数组的前t个字节

当a>b,返回1

当a<b,返回-1

当a=b,返回0

注意:如果想使用memcmp比较字符串,要保证 t 不能超过最短字符串的长度,否则结果有可能是错误的

对于memcmp(),如果两个字符串相同而且count大于字符串长度的话,memcmp不会在\0处停下来,会继续比较\0后面的内存单元,直到_res不为零或者达到count次数。 

 

2.比较两个字符串——strcmp(s1,s2)

当s1<s2时,返回为负数;
当s1==s2时,返回值= 0;
当s1>s2时,返回正数。
即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止。
注意:当两个字符串不相等时,C标准没有规定返回值会是1 或 -1,只规定了正数和负数。有些实现会返回1或-1,但将返回值与1或-1做比较的人,都是不合格的程序员。

 

转载于:https://www.cnblogs.com/Aiahtwo/p/10529547.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值