strncmp()函数用法及其详解

strncmp函数用于比较两个字符串的指定前n个字节,不考虑空格和大小写。它返回一个基于ASCII值的比较结果,帮助判断字符串的相对顺序。在示例中,当比较abcdef和ABCDEF的前4个字符时,由于大写字母在ASCII值上小于小写字母,所以返回值大于0,输出str2小于str1。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C标准库 <string.h>

描述

        C 库函数 int strncmp(const char *str1, const char *str2, size_t n) 把 str1 和 str2 进行比较,最多比较前 n 个字节。 

声明

下面是 strncmp() 函数的声明。

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

参数

  • str1 -- 要进行比较的第一个字符串。
  • str2 -- 要进行比较的第二个字符串。
  • n -- 要比较的最大字符数。
     
  • 按照ASCII值进行比较,str1-str2的数值就是返回值。
    在这里插入图片描述

返回值

该函数返回值如下:

  • 如果返回值 < 0,则表示 str1 小于 str2。
  • 如果返回值 > 0,则表示 str2 小于 str1。
  • 如果返回值 = 0,则表示 str1 等于 str2。

实例

下面的实例演示了 strncmp() 函数的用法。

#include <stdio.h>

#include <string.h>

int main ()

{

   char str1[15];

   char str2[15];

   int ret;

   strcpy(str1, "abcdef");

   strcpy(str2, "ABCDEF");

   ret = strncmp(str1, str2, 4);

   if(ret < 0)

   {

      printf("str1 小于 str2");

   }

   else if(ret > 0)

   {

      printf("str2 小于 str1");

   }

   else

   {

      printf("str1 等于 str2");

   }

    

   return(0);

}

让我们编译并运行上面的程序,这将产生以下结果:

str2 小于 str1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值