JavaScript is required

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 <

A.

Same here

B.

Rome

C.

Chương trình báo lỗi.

D.

Không in ra gì cả.

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".

Câu hỏi liên quan