JavaScript is required

Which of the following is a complete function?

A.

int funct();

B.

int funct(int x) {return x=x+1;}

C.

void function(int) {printf( “Hello” );

D.

void funct(x) {printf( “Hello” ); }

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ên funct trả về kiểu int, 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ủa x + 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àm printf, 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.

Câu hỏi liên quan