ฟังก์ชันไลบรารี 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() -
#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