Bài 73. Lập trình so sánh hai chuỗi trong C, hàm strcmp trong C


Tóm tắt

Hàm strcmp():

  • Thuộc thư viện string.h

  • Cấu trúc: 

int strcmp (const char* str1, const char* str2);

  • Nếu ký tự đầu tiên của hai chuỗi bằng nhau thì ký tự tiếp theo của hai chuỗi được so sánh.

  • So sánh tiếp tục cho đến khi các ký tự tương ứng của hai chuỗi khác nhau hoặc gặp null '\0'.

  • Kết quả

Giá trị trả lại

Nhận xét

0

nếu cả hai chuỗi giống hệt nhau (bằng nhau)

số nguyên âm

nếu giá trị ASCII của ký tự khác nhau đầu tiên nhỏ hơn (s1 < s2)

số nguyên dương

nếu giá trị ASCII của ký tự khác nhau đầu tiên lớn hơn (s1 > s2)


Video giải thích chi tiết về Lập trình so sánh hai chuỗi trong C, hàm strcmp trong C | Tự học lập trình C



Code ví dụ


#include "stdio.h"
#include "string.h"
int my_strcmp(char x1[], char x2[]){
	int ketQua = 0;
	size_t len1 = strlen(x1);
	size_t len2 = strlen(x2);
	size_t min = len1<len2?len1:len2;
	for(int i=0; i<min; i++){
		ketQua = x1[i]-x2[i];
		if(ketQua!=0)
			break;
	}
	if(ketQua>0)
		return 1;
	else if (ketQua<0)
		return -1;
	else
		return 0;
}
int main(){
	char s_1[50];
	char s_2[50];
	
	printf("\nNhap vao s_1 = ");
	fgets(s_1, sizeof(s_1), stdin);
	printf("\nNhap vao s_2 = ");
	fgets(s_2, sizeof(s_2), stdin);
	printf("\nKet qua so sanh: %d", strcmp(s_1, s_2));
	printf("\n-------");
	printf("\nKet qua so sanh*: %d", my_strcmp(s_1, s_2));
}



    

Bạn có thể thích những bài đăng này:

Không có nhận xét nào:

Đăng nhận xét