Consider two strings s1 and s2 in C. How can you determine if s1 is greater than or equal to s2?

4 phương ánCó giải thích

Các phương án trả lời

Chọn một phương án
Lời giảiChọn phương án để mở
Đáp án đúng: "if (strcmp(s1, s2) >= 0)". Thứ tự giữa hai chuỗi trong C do strcmp quyết định: hàm này so từng cặp ký tự theo mã, dừng ở chỗ đầu tiên khác nhau và trả về số dương khi chuỗi thứ nhất lớn hơn, số âm khi bé hơn, 0 khi trùng nhau; vậy điều kiện lớn hơn hoặc bằng tương ứng với kết quả không âm. Ý "if (strcmp(s1, s2) < 0)" sai vì nó thử điều ngược lại, chuỗi thứ nhất bé hơn. Ý "if (strlen(s1) >= strlen(s2))" sai vì nó chỉ đo độ dài, trong khi thứ tự từ điển phụ thuộc nội dung từng ký tự; một chuỗi dài hơn vẫn có thể bé hơn. Ý "if (s1 >= s2)" sai vì tên mảng chuỗi được chuyển thành địa chỉ phần tử đầu, nên phép so sánh đó đối chiếu hai địa chỉ trong bộ nhớ, không liên quan gì tới nội dung.

Cùng phần 8

Xuất hiện trong 1 bộ đề