Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

ฟังก์ชั่น strcmp () ในภาษา C คืออะไร?


ฟังก์ชันไลบรารี C int strcmp(const char *str1, const char *str2) เปรียบเทียบสตริงที่ชี้โดย str1 ไปยังสตริงที่ชี้โดย str2 .

อาร์เรย์ของอักขระเรียกว่าสตริง

ประกาศ

ต่อไปนี้เป็นการประกาศสำหรับอาร์เรย์ -

char stringname [size];

ตัวอย่างเช่น − char string[50]; สตริงที่มีความยาว 50 ตัวอักษร

การเริ่มต้น

  • การใช้ค่าคงที่อักขระตัวเดียว −
char string[10] = { ‘H’, ‘e’, ‘l’, ‘l’, ‘o’ ,‘\0’}
  • การใช้ค่าคงที่สตริง −
char string[10] = "Hello":;

กำลังเข้าถึง − มีสตริงควบคุม "%s" ที่ใช้สำหรับเข้าถึงสตริงจนกว่าจะพบ '\0'

ฟังก์ชัน strcmp()

  • ฟังก์ชันนี้เปรียบเทียบสองสตริง

  • ส่งกลับค่าความแตกต่าง ASCII ของอักขระที่ไม่ตรงกันสองตัวแรกในทั้งสองสตริง

การเปรียบเทียบสตริง

ไวยากรณ์มีดังนี้ −

int strcmp (string1, string2);

หากผลต่างเท่ากับศูนย์ ------ string1 =string2

หากผลต่างเป็นบวก -------- string1> string2

หากผลต่างเป็นลบ -------- string1

ฟังก์ชั่น strcmp () ในภาษา C คืออะไร?

ฟังก์ชั่น strcmp () ในภาษา C คืออะไร?

ตัวอย่างโปรแกรม

โปรแกรมต่อไปนี้แสดงการใช้งานฟังก์ชัน 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);
}

ผลลัพธ์

เมื่อโปรแกรมข้างต้นทำงาน มันจะให้ผลลัพธ์ดังต่อไปนี้ −

enter 2 strings:
bhanu
priya
bhanu is less than priya

มาดูตัวอย่างอื่นใน strcmp()

รับด้านล่างเป็นโปรแกรม C เพื่อเปรียบเทียบสองสตริงโดยใช้ฟังก์ชันไลบรารี strcmp -

ตัวอย่าง

#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);
   }
}

ผลลัพธ์

เมื่อโปรแกรมข้างต้นทำงาน มันจะให้ผลลัพธ์ดังต่อไปนี้ −

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