最佳答案:
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请按任意键继续...