Nếu có các khai báo sau: char msg[10] char value; Câu nào sau đây sẽ là đúng:
Trả lời:
Đáp án đúng: A
Phân tích câu hỏi:
Câu hỏi kiểm tra kiến thức về cách truy cập và gán giá trị cho các phần tử trong mảng ký tự (chuỗi) trong C/C++.
Đánh giá các phương án:
- Phương án A:
msg[2] = value;Đây là một câu lệnh gán hợp lệ. Nó gán giá trị của biếnvalue(kiểuchar) cho phần tử thứ 3 (vì chỉ số mảng bắt đầu từ 0) của mảngmsg. Vìmsglà một mảng ký tự vàvaluecũng là một ký tự, việc gán này hoàn toàn hợp lệ. - Phương án B:
msg = value;Đây là một câu lệnh gán không hợp lệ. Trong C/C++, tên mảng (ví dụ:msg) đại diện cho địa chỉ của phần tử đầu tiên trong mảng. Bạn không thể gán trực tiếp một giá trị (ở đây là một ký tựvalue) cho địa chỉ của mảng. Điều này tương đương với việc cố gắng thay đổi địa chỉ mà mảng trỏ tới, điều này không được phép. - Phương án C: Cả hai câu trên (loại)
- Phương án D: Không câu nào đúng (loại)
Kết luận:
Chỉ có phương án A là đúng.





