什么是memcmp

核心提示memcmp函数的原型为 int memcmp(const void *str1, const void *str2, size_t n);其功能是把存储区 str1 和存储区 str2 的前 n 个字节进行比较。该函数是按字节比较的,位于

最佳答案:

memcmp函数的原型为 int memcmp(const void *str1, const void *str2, size_t n);其功能是把存储区 str1 和存储区 str2 的前 n 个字节进行比较。该函数是按字节比较的,位于string.h。

详情介绍

memcmp函数的原型为 int memcmp(const void *str1, const void *str2, size_t n);其功能是把存储区 str1 和存储区 str2 的前 n 个字节进行比较。该函数是按字节比较的,位于string.h。

中文名
memcmp
外文名
memcmp
功能
比较str1和str2前n个字节
所需头文件
#include <string.h>
返回值
负数、0、或正数
特点
按字节比较

memcmpmemcmp语法

memcmp函数原型

int memcmp(const void *str1, const void *str2, size_t n);

memcmp参数

str1-- 指向内存块的指针。

str2-- 指向内存块的指针。

n-- 要被比较的字节数。

memcmp功能

比较内存区域buf1和buf2的前count个字节。

memcmp头文件

#include <string.h>或#include<memory.h>

memcmp返回值

如果返回值 < 0,则表示 str1 小于 str2。

如果返回值 > 0,则表示 str2 小于 str1。

如果返回值 = 0,则表示 str1 等于 str2。

memcmp应用说明

该函数是按字节比较的。

例如:

s1,s2为字符串时候memcmp(s1,s2,1)就是比较s1和s2的第一个字节的ascII码值;

memcmp(s1,s2,n)就是比较s1和s2的前n个字节的ascII码值;

如:char *s1="abc";

char *s2="acd";

int r=memcmp(s1,s2,3);

就是比较s1和s2的前3个字节,第一个字节相等,第二个字节比较中大小已经确定,不必继续比较第三字节了。所以r=-1.

memcmp功能比较

在C中,数据的对比函数一般使用strcmp和memcmp这两种:

(1)memcmp功能是比较内存区域buf1和buf2的前count个字节,其结果为按字节进行对比;

(2)strcmp

头文件:string.h

函数名:intstrcmp(const char *s1,const char *s2)

功能:比较字符串s1和s2,s1小于s2则返回负数,s1等于s2则返回零,s1大于s2则返回正数。其对比是以字符为单位的。

memcmp示例程序

#include<string.h>#include<stdio.h>int main(){char *s1 = "Hello,Programmers!";char *s2 = "Hello,Programmers!";int r;r = memcmp(s1,s2,strlen(s1));if(!r)    printf("s1 and s2 are identicaln");elseif(r<0)    printf("s1 is less than s2n");else    printf("s1 is greater than s2n");return 0;}输出结果:s1 and s2 are identical请按任意键继续...

 
友情链接
鄂ICP备19019357号-22