Để khai báo mảng số thực động thì dùng đoạn mã nào sau đây:
Trả lời:
Đáp án đúng: A
Đề bài yêu cầu khai báo mảng số thực động. Điều này có nghĩa là kích thước mảng được xác định trong quá trình chạy chương trình (run-time) chứ không phải tại thời điểm biên dịch (compile-time).
* **Đáp án 1:** `float *M; int n; cout<<"\n\t Nhập số phần tử mảng ";cin>>n; A M = new float [n]` Đây là cách khai báo đúng. `float *M` khai báo một con trỏ tới kiểu float. Sau đó, sử dụng `new float[n]` để cấp phát bộ nhớ động cho mảng `M` có `n` phần tử kiểu float. Tuy nhiên, có một lỗi nhỏ là `A M = new float [n]` phải là `M = new float[n]`. Bỏ qua lỗi nhỏ này, đây là đáp án đúng về mặt ý tưởng.
* **Đáp án 2:** `int n; cout<<"\n\t Nhap số phần tử mảng: ";cin>>n; float M[n]` Cách khai báo này sử dụng Variable Length Array (VLA), được hỗ trợ trong một số trình biên dịch C++ nhưng không phải là một phần của chuẩn C++ chính thức (từ C++11 trở đi). Vì vậy, nó không phải là một cách khai báo mảng động chuẩn và có thể gây ra vấn đề tương thích. Quan trọng hơn, VLA được cấp phát trên stack, vốn có kích thước giới hạn, nên có thể gây ra tràn stack nếu `n` quá lớn.
* **Đáp án 3:** `intn; floatM[n]` Tương tự như đáp án 2, đây là VLA và không phải là cách khai báo mảng động chuẩn.
* **Đáp án 4:** `float M[int n]` Cách khai báo này sai cú pháp. Số phần tử của mảng phải là một hằng số hoặc biểu thức hằng số tại thời điểm biên dịch, hoặc sử dụng cấp phát động.
Cùng ôn thi với bộ câu hỏi trắc nghiệm môn Lập trình hướng đối tượng có đáp án mà tracnghiem.net chia sẽ dưới đây, nhằm giúp các bạn sinh viên chuyên ngành chuẩn bị cho kì thi sắp tới.
50 câu hỏi 60 phút
Câu hỏi liên quan

FORM.08: Bộ 130+ Biểu Mẫu Thống Kê Trong Doanh Nghiệp

FORM.07: Bộ 125+ Biểu Mẫu Báo Cáo Trong Doanh Nghiệp

FORM.06: Bộ 320+ Biểu Mẫu Hành Chính Thông Dụng

FORM.05: Bộ 330+ Biểu Mẫu Thuế - Kê Khai Thuế Mới Nhất

FORM.04: Bộ 240+ Biểu Mẫu Chứng Từ Kế Toán Thông Dụng
