C语言:strncmp() 用法详解

一、strncmp() 简介

1. 函数原型

int strncmp(const char *str1, const char *str2, size_t n);

2. 参数

  • str1– 要进行比较的第一个字符串。
  • str2– 要进行比较的第二个字符串。
  • n– 要比较的最大字符数。

3. 功能

用来比较str1和str2字符串的前n个字符。

4. 头文件

#include <string.h>

5. 返回值

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

二、strncmp() 用法

strncmp函数是用来比较字符串的。
具体代码如下:

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

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

运行结果如下:

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

猜你喜欢

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