C語(yǔ)言strncmp函數(shù)的用法是什么

小億
103
2023-11-05 03:13:34

C語(yǔ)言中的strncmp函數(shù)是用來(lái)比較兩個(gè)字符串的前n個(gè)字符是否相等的函數(shù)。它的聲明如下:

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

參數(shù)說(shuō)明:

  • str1:要進(jìn)行比較的第一個(gè)字符串
  • str2:要進(jìn)行比較的第二個(gè)字符串
  • n:要比較的字符數(shù)

返回值:

  • 若str1和str2的前n個(gè)字符相等,則返回0
  • 若str1小于str2,則返回一個(gè)負(fù)數(shù)
  • 若str1大于str2,則返回一個(gè)正數(shù)

需要注意的是,比較的字符數(shù)n應(yīng)該小于等于兩個(gè)字符串的長(zhǎng)度,否則可能會(huì)出現(xiàn)越界錯(cuò)誤。

以下是一個(gè)使用strncmp函數(shù)的示例:

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

int main() {
    char str1[] = "Hello";
    char str2[] = "Hel";

    int result = strncmp(str1, str2, 3);
    if (result == 0) {
        printf("The first 3 characters of str1 and str2 are the same.\n");
    } else if (result < 0) {
        printf("str1 is less than str2.\n");
    } else {
        printf("str1 is greater than str2.\n");
    }

    return 0;
}

輸出結(jié)果為:

The first 3 characters of str1 and str2 are the same.

0