Which of the following is a complete function?
Trả lời:
Đáp án đúng: B
Câu hỏi yêu cầu xác định một hàm hoàn chỉnh trong C/C++. Một hàm hoàn chỉnh cần có đầy đủ phần khai báo (declaration) và định nghĩa (definition). Phần khai báo cho biết kiểu trả về, tên hàm và danh sách tham số (nếu có). Phần định nghĩa chứa phần thân hàm, tức là các lệnh thực thi của hàm.
* **A. `int funct();`**: Đây chỉ là phần khai báo hàm (function declaration) hay còn gọi là function prototype. Nó cho biết một hàm tên là `funct` nhận không tham số và trả về một giá trị kiểu `int`. Nó không có phần thân hàm (định nghĩa), do đó 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ó cả phần khai báo (kiểu trả về `int`, tên `funct`, tham số `int x`) và phần định nghĩa (thân hàm `{return x=x+1;}`). Thân hàm này tăng giá trị của `x` lên 1 và trả về giá trị mới của `x`.
* **C. `void funct(int) {printf( “Hello” );}`**: Cách khai báo tham số như thế này không hợp lệ. Hàm không có tên biến cho tham số, dẫn đến lỗi biên dịch. Vì vậy, đây không phải là một hàm hoàn chỉnh.
* **D. `void funct(x) {printf( “Hello” ); }`**: Tương tự như C, cách khai báo tham số `x` mà không chỉ định kiểu dữ liệu là không hợp lệ trong C/C++ (nếu không có khai báo kiểu mặc định như trong C cổ điển). Điều này sẽ gây ra lỗi biên dịch. Vì vậy, đây không phải là một hàm hoàn chỉnh.
Vậy, đáp án đúng là B.
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
