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
Trong C/C++, char msg[10]
khai báo một mảng các ký tự (chuỗi) có kích thước tối đa là 10. char value
khai báo một biến ký tự đơn.
- Phương án A:
msg[2] = value;
- Câu lệnh này gán giá trị của biến
value
cho phần tử thứ 3 (index 2) của mảngmsg
. Đây là một thao tác hợp lệ vì cả hai vế đều là kiểu ký tự (char
).
- Câu lệnh này gán giá trị của biến
- Phương án B:
msg = value;
- Câu lệnh này không hợp lệ. Trong C/C++, bạn không thể gán trực tiếp một giá trị kiểu ký tự cho một mảng ký tự (chuỗi).
msg
là một con trỏ hằng tới vùng nhớ chứa các ký tự, bạn cần sử dụng các hàm nhưstrcpy
hoặc gán từng phần tử để thay đổi nội dung của mảng.
- Câu lệnh này không hợp lệ. Trong C/C++, bạn không thể gán trực tiếp một giá trị kiểu ký tự cho một mảng ký tự (chuỗi).
Do đó, chỉ có phương án A là đúng.