Computer >> Máy Tính >  >> Lập trình >> lập trình C

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

Hàm thư viện C int strcmp (const char * str1, const char * str2) so sánh chuỗi được trỏ tới, bởi str1 đến chuỗi được trỏ tới bởi str2 .

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

Tuyên bố

Sau đây là khai báo cho một mảng -

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 strcmp ()

  • Hàm này so sánh hai chuỗi.

  • Nó trả về sự khác biệt ASCII của hai ký tự không khớp đầu tiên trong cả hai chuỗi.

So sánh chuỗi

Cú pháp như sau -

int strcmp (string1, string2);

Nếu sự khác biệt bằng 0 ------ string1 =string2

Nếu sự khác biệt là dương ------- string1> string2

Nếu sự khác biệt là âm ------- string1

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

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

Chương trình mẫu

Chương trình sau đây cho thấy cách sử dụng hàm strcmp () -

#include<stdio.h>
main ( ){
   char a[50], b [50];
   int d;
   printf ("enter 2 strings:\n");
   scanf ("%s %s", a,b);
   d = strcmp (a,b);
   if (d==0)
      printf("%s is equal to %s", a,b);
   else if (d>0)
      printf("%s is greater than %s",a,b);
   else if (d<0)
      printf("%s is less than %s", a,b);
}

Đầu ra

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

enter 2 strings:
bhanu
priya
bhanu is less than priya

Hãy xem một ví dụ khác trên strcmp ().

Dưới đây là chương trình C để so sánh hai chuỗi bằng cách sử dụng hàm thư viện strcmp -

Ví dụ

#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 = strcmp(string1,string2);
   //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 -

Enter String 1: Tutorials
Enter String 2: Point
Tutorials is greater than Point