Lập trình C - C strcmp()

So sánh 2 chuỗi trong C: strcmp()

Hàm int strcmp(const char*s1, const char *s2) là hàm dùng để so sánh hai chuỗi với nhau. Hàm sẽ so sánh hai chuỗi với nhau và trả về các giá trị tương ứng.

Cú pháp:

int strcmp(const char*s1, const char *s2)

Ta có A[] và B[]

  • Nếu A[] > B[], kết quả trả về là 1
  • Nếu A[] == B[], kết quả trả về là 0
  • Nếu A[] < B[], kết quả trả về là -1

Hàm strcmp sẽ so sánh từng hai phần tử của hai chuỗi có cùng vị trí với nhau.

Cách so sánh giống với các so sánh 2 số thực. Tức là chỉ cần 1 phần tử của mảng A[] lớn hơn phần tử cùng vị trí của mảng B[] thì mảng A[] sẽ lớn hơn mảng B[]. Ví dụ  X = 3.14160 và Y = 3.14159 thì ta có X > Y.

Ví dụ:

#include<stdio.h>  
#include <string.h>    
int main(){    
  char str1[20],str2[20];    
  printf("Nhap chuoi 1: ");    
  gets(str1);//reads string from console    
  printf("Nhap chuoi 2: ");    
  gets(str2);    
  if(strcmp(str1,str2)==0)    
      printf("2 chuoi bang nhau");    
  else    
      printf("2 chuoi khong bang nhau");    
 return 0;    
}    

Kết quả:

Nhap chuoi 1 : hello
Nhap chuoi 2 : hello
2 chuoi bang nhau