C语言 memcmp()
函数用于比较两个存储区域的前n个字节是否相同。
语法
int memcmp(const void *str1, const void *str2, size_t n));
参数
参数 | 说明 |
---|---|
str1 | 指定内存块的第一个指针。 |
str2 | 指定内存块的第二个指针。 |
n | 指定要比较的字节数。例如 sizeof(int)或者sizeof(char) |
返回值
自左向右逐个按照ASCII码值进行比较n个字符,直到出现不同的字符止。
如果返回值 < 0,则表示 str1 小于 str2。
如果返回值 > 0,则表示 str2 小于 str1。
如果返回值 = 0,则表示 str1 等于 str2。
例子
介绍一些例子,了解c语言memcmp()函数的使用方法。
#include <stdio.h>
#include <string.h>
int main(){
int arr1[5] = { 1,2,3,4,5 };
int arr2[5] = { 1,2,3,3,5 };
int ret = memcmp(arr1, arr2, 5 * sizeof(int));
printf("%d\n", ret);//arr1大于arr2
getchar();
return 0;
}
输出:1
该比较的结果是arr1大于arr2,因为从第四个开始arr1的4大于arr1的3,所以返回值为1