C语言:memcmp() 用法详解

一、memcmp() 简介

1. 函数原型

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

2. 参数

  • str1– 指向内存块的指针。
  • str2– 指向内存块的指针。
  • n– 要被比较的字节数

3. 功能

把存储区 str1 和存储区 str2 的前 n 个字节进行比较,主要用来比较字符串的。

4. 头文件

#include <string.h>

5. 返回值

  • 自左向右逐个按照ASCII码值进行比较n个字符,直到出现不同的字符止。
  • 如果返回值 < 0,则表示 str1 小于 str2。
  • 如果返回值 > 0,则表示 str2 小于 str1。
  • 如果返回值 = 0,则表示 str1 等于 str2。

二、memcmp() 用法

memcmp函数主要是用来比较字符串。
具体代码如下:

#include <stdio.h>
#include <string.h>	

int main(void)
{
    
    
	char *a = "English";
    char *b = "ENGLISH";
    char *c = "english";
    char *d = "English";
    printf("memcmp(a, b):%d\n", memcmp(a, b, 7));//字符串之间的比较 
    printf("memcmp(a, c):%d\n", memcmp(a, c, 7));
    printf("memcmp(a, d):%d\n", memcmp(a, d, 7));
    printf("memcmp(a, \"English\"):%d\n", memcmp(a, "English", 7));
    printf("memcmp(&a[2], \"g\"):%d\n", memcmp(&a[2], "g", 1)); //单个字符的比较 
	return 0;
}

运行结果如下:

memcmp(a, b):1
memcmp(a, c):-1
memcmp(a, d):0
memcmp(a, "English"):0
memcmp(&a[2], "g"):0

猜你喜欢

转载自blog.csdn.net/MQ0522/article/details/110931444