Để khai báo một hàm kiểm tra một mảng là tăng hay không, ta dùng khai báo nào dưới đây?
Trả lời:
Đáp án đúng: B
Câu hỏi yêu cầu khai báo một hàm kiểm tra mảng tăng.
- Kiểu trả về của hàm nên là `bool` (hoặc `int` để biểu diễn true/false) để cho biết mảng có tăng hay không. Tuy nhiên, trong các đáp án không có kiểu `bool`, chúng ta sẽ xem xét các lựa chọn khác. Trong trường hợp này, ta có thể dùng `int` để trả về 1 (true) nếu mảng tăng và 0 (false) nếu không. Các đáp án khác (void, long, double) không phù hợp về mặt ngữ nghĩa.
- Tham số của hàm cần có một mảng số nguyên (`int a[]` hoặc `int *a`) và kích thước của mảng (`int n`).
Xét các đáp án:
- A. `void CheckAsc(int a[], int n);` : Kiểu trả về `void` không phù hợp, vì hàm cần trả về kết quả kiểm tra (tăng hay không).
- B. `int CheckAsc(int *a, int n);` : Kiểu trả về `int` và tham số phù hợp. Hàm này có thể trả về 1 nếu mảng tăng và 0 nếu không.
- C. `long CheckAsc(int *S);` : Thiếu tham số kích thước mảng. Khó có thể kiểm tra mảng tăng nếu không biết kích thước.
- D. `double CheckAsc(int S[], int n);` : Kiểu trả về `double` không phù hợp, vì chỉ cần trả về true/false.
Vậy đáp án B là phù hợp nhất.