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