Menu
×
   ❮   
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 必需。指向要比较的内存块之一的指针。
size 必需。要比较的字节数。

技术细节

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

❮ 字符串函数


相关页面

C 字符串教程

C 字符串函数教程


×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.