菜单
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

C 字符串 memcmp() 函数

❮ 字符串函数


示例

比较两个内存块以确定哪个更大

char myStr1[] = "ABCD";
char myStr2[] = "ABCE";
int cmp = memcmp(myStr1, myStr2, 4);

if (cmp > 0) {
  printf("%s is greater than %s\n", myStr1, myStr2);
} else if (cmp < 0) {
  printf("%s is greater than %s\n", myStr2, myStr1);
} else {
  printf("%s is equal to %s\n", myStr1, myStr2);
}
自己动手试一试 »

定义和用法

memcmp() 函数比较两个内存块,并返回一个表示哪个内存块更大的整数。

对于此比较,两个内存块中相同位置的字节将逐个比较,从位置 0 开始,直到其中一个不匹配或已到达内存块的末尾。有三种可能的情况:

  • 如果在到达内存块末尾时没有发生不匹配,则函数返回零。
  • 在第一次不匹配时,如果第一个内存块中的字节值更大,则函数返回一个正数。
  • 在第一次不匹配时,如果第二个内存块中的字节值更大,则函数返回一个负数。

memcmp() 函数定义在 <string.h> 头文件中。


语法

memcmp(void * pointer1, void * pointer2, size_t size);

size_t 数据类型是一个正整数。

参数值

参数 描述
pointer1 必需。指向要比较的内存块之一的指针。
pointer2 必需。指向要比较的内存块之一的指针。
大小 必需。要比较的字节数。

技术详情

返回 一个 int 值,如果第一个内存块更大则为正数,如果第二个内存块更大则为负数,如果两个内存块相等则为 0。

❮ 字符串函数


相关页面

C 字符串教程

C 字符串函数教程


×

联系销售

如果您想将 W3Schools 服务用于教育机构、团队或企业,请发送电子邮件给我们
sales@w3schools.com

报告错误

如果您想报告错误,或想提出建议,请发送电子邮件给我们
help@w3schools.com

W3Schools 经过优化,旨在方便学习和培训。示例可能经过简化,以提高阅读和学习体验。教程、参考资料和示例会不断审查,以避免错误,但我们无法保证所有内容的完全正确性。使用 W3Schools 即表示您已阅读并接受我们的使用条款Cookie 和隐私政策

版权所有 1999-2024 Refsnes Data。保留所有权利。W3Schools 由 W3.CSS 提供支持