4.3.10 Chi tiết hơn về so sánh string

Bởi vì chúng ta đã biết làm thế nào để xác định và sử dụng chuỗi con, vì thế chúng ta có thể quay lại một chút và tìm hiểu một số biến thể khác của hàm compare. Chúng cho phép chúng ta không chỉ so sánh toàn bộ chuỗi, mà còn các chuỗi con của chúng. Nguyên mẫu của chúng rất rõ ràng để hiểu và dễ sử dụng. Đây là hai trong số chúng

S.compare (substr_start, substr_length, other_string)
S.compare (substr_start, substr_length, other_string, other_substr_start, other_substr_length)

Chúng ta sẽ bắt đầu với trường hợp đầu tiên. Biến thể này của hàm compare so sánh toàn bộ một chuỗi khác với chuỗi con của chuỗi nguồn. Điều này có nghĩa là đoạn mã dưới đây sẽ xuất ra 0 (các chuỗi giống nhau):

string S = “ABC”;

cout << S.compare(1,1,”B”);

Biến thể thứ hai cho phép chúng ta chỉ sử dụng một phần của chuỗi other_string. Tương tự, đoạn mã sau cũng sẽ xuất ra 0:\

string S = “ABC”;

cout << S.compare(1,1,”ABC”,1,1);

Bây giờ hãy phân tích code sau đây →

Nhiệm vụ của bạn là đoán output của chương trình. Chúc may mắn!

PS Nếu bạn nghĩ rằng đó là -1 thì bạn đã đúng !