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(a);

printf("%d", a);

}

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 minh họa cách tham số được truyền vào hàm trong C. Trong hàm `main`, biến `a` được khởi tạo với giá trị 5. Sau đó, hàm `change(a)` được gọi, *truyền bản sao* của giá trị `a` vào hàm `change`. Bên trong hàm `change`, biến `a` (là một biến cục bộ của hàm `change`) được gán giá trị 10. Tuy nhiên, sự thay đổi này chỉ ảnh hưởng đến bản sao của `a` bên trong hàm `change`, chứ không ảnh hưởng đến biến `a` trong hàm `main`. Do đó, khi `printf("%d", a)` được gọi trong hàm `main`, nó vẫn in ra giá trị ban đầu của `a`, là 5.

Câu hỏi liên quan