Which of the following is a complete function?
Trả lời:
Đáp án đúng: B
Một hàm hoàn chỉnh trong C/C++ cần có đầy đủ các thành phần sau:
- Kiểu trả về (ví dụ:
int,void,float, ...). - Tên hàm (ví dụ:
funct,function, ...). - Danh sách tham số (có thể rỗng, nhưng phải có cặp ngoặc đơn
()). Mỗi tham số cần có kiểu dữ liệu và tên biến. - Phần thân hàm, được bao trong cặp ngoặc nhọn
{}, chứa các câu lệnh thực thi của hàm.
Phân tích các phương án:
- A.
int funct();: Đây chỉ là khai báo hàm (function declaration), không phải định nghĩa hàm (function definition). Nó chỉ cho trình biên dịch biết rằng có một hàm tênfuncttrả về kiểuint, nhưng không cung cấp phần thân hàm. Do đó, đây không phải là một hàm hoàn chỉnh. - B.
int funct(int x) {return x=x+1;}: Đây là một hàm hoàn chỉnh. Nó có kiểu trả về làint, tên hàm làfunct, tham số làint x, và phần thân hàm trả về giá trị củax + 1. - C.
void function(int) {printf( “Hello” );: Mẫu hàm này bị thiếu dấu ngoặc kép để kết thúc chuỗi định dạng và tham số truyền vào hàmprintf, nó không hoàn chỉnh. - D.
void funct(x) {printf( “Hello” ); }: Thiếu kiểu dữ liệu của tham sốx. Trong C/C++, khi định nghĩa hàm, cần phải chỉ rõ kiểu dữ liệu cho mỗi tham số. Do đó, đây không phải là một hàm hoàn chỉnh.
Vậy, chỉ có phương án B là một hàm hoàn chỉnh.





