Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Hàm strncmp() trong ngôn ngữ C là gì?


Hàm thư viện C int strncmp(const char *str1, const char *str2, size_t n) so sánh tối đa n byte đầu tiên của str1 và str2.

Mảng các ký tự được gọi là chuỗi.

Khai báo

Cú pháp khai báo mảng:

char stringname[size];

Ví dụ: char string[50]; chuỗi độ dài 50 ký tự.

Khởi tạo

  • Sử dụng hằng ký tự đơn lẻ:
char string[10] = {'H', 'e', 'l', 'l', 'o', '\0'};
  • Sử dụng hằng chuỗi:
char string[10] = "Hello";

Truy cập - Chuỗi điều khiển "%s" dùng để truy cập chuỗi cho đến khi gặp '\0'.

Hàm strncmp()

Hàm này dùng để so sánh n ký tự đầu tiên của 2 chuỗi.

Cú pháp

strncmp(string1, string2, n)

Ví dụ

char a[10] = "the"; 
char b[10] = "there"; 
strncmp(a, b, 3);

Kết quả: Hai chuỗi bằng nhau (so sánh 3 ký tự đầu).

Ví dụ chương trình

Chương trình C so sánh ký tự cụ thể giữa hai chuỗi dùng strncmp:

#include <stdio.h> 
#include <string.h> 
void main() { 
    char string1[25], string2[25]; 
    int value; 
    printf("Nhập chuỗi 1: "); 
    gets(string1); 
    printf("Nhập chuỗi 2: "); 
    gets(string2); 
    value = strncmp(string1, string2, 4); 
    if (value == 0) { 
        printf("%s giống %s", string1, string2); 
    } else if (value > 0) { 
        printf("%s lớn hơn %s", string1, string2); 
    } else { 
        printf("%s nhỏ hơn %s", string1, string2); 
    } 
}

Kết quả

Lần 1: Nhập chuỗi 1: Welcome Nhập chuỗi 2: TO my World Welcome lớn hơn TO my World 
Lần 2: Nhập chuỗi 1: welcome Nhập chuỗi 2: welcome welcome giống welcome