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