Anh (Chị) hãy cho biết kết quả của đoạn lệnh sau nếu nhập chuỗi Rome từ bàn phím?
char str[40]
cin.getline (str,40);
if ( strcmp(str, “Juliet”) == 0) cout << “Same here”;
else cout <
Trả lời:
Đáp án đúng: B
Đoạn chương trình này thực hiện các bước sau:
1. **Khai báo:** Khai báo một mảng ký tự `str` có kích thước 40.
2. **Nhập dữ liệu:** Sử dụng `cin.getline(str, 40)` để đọc một chuỗi từ bàn phím và lưu vào mảng `str`. Hàm `cin.getline` đọc đến khi gặp ký tự newline (enter) hoặc đã đọc đủ 39 ký tự (chừa một vị trí cho ký tự null '\0' để kết thúc chuỗi).
3. **So sánh chuỗi:** Sử dụng hàm `strcmp(str, "Juliet")` để so sánh chuỗi vừa nhập (`str`) với chuỗi "Juliet". Hàm `strcmp` trả về 0 nếu hai chuỗi giống nhau, một giá trị âm nếu `str` nhỏ hơn "Juliet", và một giá trị dương nếu `str` lớn hơn "Juliet".
4. **In kết quả:**
* Nếu `strcmp` trả về 0 (tức là chuỗi nhập vào là "Juliet"), chương trình in ra "Same here".
* Ngược lại (chuỗi nhập vào khác "Juliet"), chương trình in ra chuỗi vừa nhập (`str`).
Trong trường hợp này, chuỗi nhập vào là "Rome". Vì "Rome" khác "Juliet", nên `strcmp` sẽ trả về một giá trị khác 0. Do đó, chương trình sẽ in ra chính chuỗi "Rome".