JavaScript is required

Khai báo hàm tìm giá trị lớn nhất trong một màng các số long dưới đây, khai báo nào đúng:

A.

void Max(long *a);

B.

long Max(long *a[]);

C.

void Max(long a[], int n);

D.

long Max(long *a, int n);

Trả lời:

Đáp án đúng: D


Câu hỏi yêu cầu khai báo hàm tìm giá trị lớn nhất trong một mảng các số kiểu `long`. * **Phương án A:** `void Max(long *a);` * Sai. Thiếu kích thước mảng, không thể xác định số lượng phần tử để tìm max, và không trả về giá trị max. * **Phương án B:** `long Max(long *a[]);` * Sai. `long *a[]` là mảng các con trỏ kiểu `long`, không phải mảng các số kiểu `long`. Ngoài ra, cũng thiếu kích thước mảng. * **Phương án C:** `void Max(long a[], int n);` * Sai một phần. Có kích thước mảng `n`, nhưng hàm `void` không trả về giá trị lớn nhất tìm được. Hàm này chỉ có thể in ra giá trị lớn nhất, chứ không trả về để sử dụng ở nơi khác. * **Phương án D:** `long Max(long *a, int n);` * Đúng. `long *a` là con trỏ đến mảng các số kiểu `long`, `int n` là kích thước mảng. Hàm trả về kiểu `long`, là giá trị lớn nhất tìm được trong mảng. Đây là khai báo phù hợp nhất. Vậy đáp án đúng là D.

Câu hỏi liên quan