Computer >> 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 nhiều nhất n byte đầu tiên của str1 str2 .

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

Tuyên bố

Cú pháp khai báo một mảng như sau -

char stringname [size];

Ví dụ - chuỗi ký tự char [50]; chuỗi dài 50 ký tự

Khởi tạo

  • Sử dụng hằng số ký tự -
char string[10] = { ‘H’, ‘e’, ‘l’, ‘l’, ‘o’ ,‘\0’}
  • Sử dụng hằng số chuỗi -
char string[10] = "Hello":;

Truy cập - Có một chuỗi điều khiển "% s" được sử dụng để truy cập vào chuỗi cho đến khi nó gặp ‘\ 0’.

Hàm strncmp ()

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

Cú pháp

Cú pháp cho hàm strncmp () như sau -

strncmp ( string1, string2, n)

Ví dụ

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

Kết quả đầu ra là Cả hai chuỗi đều bằng nhau.

Ví dụ

Dưới đây là một chương trình C để so sánh một ký tự cụ thể giữa hai chuỗi bằng cách sử dụng hàm thư viện strncmp -

#include<stdio.h>
#include<string.h>
void main(){
   //Declaring two strings//
   char string1[25],string2[25];
   int value;
   //Reading string 1 and String 2//
   printf("Enter String 1: ");
   gets(string1);
   printf("Enter String 2: ");
   gets(string2);
   //Comparing using library function//
   value = strncmp(string1,string2,4);
   //If conditions//
   if(value==0){
      printf("%s is same as %s",string1,string2);
   }
   else if(value>0){
      printf("%s is greater than %s",string1,string2);
   } else {
      printf("%s is less than %s",string1,string2);
   }
}

Đầu ra

Khi chương trình trên được thực thi, nó tạo ra kết quả sau -

Run1:
Enter String 1: Welcome
Enter String 2: TO my World
Welcome is greater than TO my World
Run 2:
Enter String 1: welcome
Enter String 2: welcome
welcome is same as welcome