JavaScript is required

Which is not a proper prototype?

A.

int funct(char x, char y);

B.

double funct(char x)

C.

void funct();

D.

char x();

Trả lời:

Đáp án đúng: B


Một prototype hàm (hay khai báo hàm) trong C/C++ cần chỉ rõ kiểu trả về, tên hàm, và danh sách các tham số (kiểu và tên). Tên tham số có thể bỏ qua trong prototype. * **A. `int funct(char x, char y);`**: Đúng, đây là một prototype hàm hợp lệ. Nó khai báo một hàm tên `funct` trả về một số nguyên (`int`) và nhận hai tham số kiểu `char`. * **B. `double funct(char x);`**: Đúng, đây cũng là một prototype hàm hợp lệ. Nó khai báo một hàm tên `funct` trả về một số thực dấu chấm động (`double`) và nhận một tham số kiểu `char`. * **C. `void funct();`**: Đúng, đây là một prototype hàm hợp lệ. Nó khai báo một hàm tên `funct` không trả về giá trị gì (`void`) và không nhận tham số nào. * **D. `char x();`**: Sai, đây không phải là một prototype hàm hợp lệ. Mặc dù cú pháp có vẻ giống một khai báo hàm, `x` không thể đồng thời là tên hàm và một biến. Nếu `x` là tên hàm, thì nó phải tuân theo quy tắc đặt tên hàm và cần có kiểu trả về. Nếu `x` là tên biến, cần có kiểu dữ liệu đi kèm và không có cặp ngoặc đơn `()` phía sau. Vì vậy, phương án D không phải là một prototype hàm hợp lệ.

Câu hỏi liên quan