JavaScript is required

Kết quả của chương trình sau là gì: #include int change(int a) { a = 10; return a; }; void main() { int a = 5; change(i); printf(“ % d”, i); };

A.

5

B.

10

C.

0

D.

Báo lỗi khi thực hiện chương trình

Trả lời:

Đáp án đúng: A


Chương trình này có một lỗi biên dịch. Trong hàm `main`, bạn đang gọi hàm `change(i)` nhưng biến `i` chưa được khai báo. Thay vào đó, biến `a` đã được khai báo và khởi tạo với giá trị 5. Do đó, chương trình sẽ báo lỗi khi biên dịch hoặc thực thi. Nếu ta sửa lại thành `change(a)` thì chương trình vẫn không in ra giá trị 10 vì `change` chỉ thay đổi bản sao của `a` chứ không thay đổi biến `a` trong hàm `main`. Tuy nhiên, vì có lỗi biên dịch do sử dụng biến `i` chưa khai báo, đáp án chính xác nhất là chương trình báo lỗi.

Câu hỏi liên quan