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

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做比较的人,都是不合格的程序员。

 

posted @ 2019-03-14 12:38  saaas  阅读(632)  评论(0)    收藏  举报