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 i = 5; change( & i); printf(“ % d”, i); };

A.

5

B.

10

C.

0

D.

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

Trả lời:

Đáp án đúng: A


Chương trình này sử dụng con trỏ để thay đổi giá trị của biến `i`. Hàm `change` nhận địa chỉ của biến `i` thông qua con trỏ `a`. Bên trong hàm, `*a = 10;` gán giá trị 10 cho vùng nhớ mà `a` trỏ tới, tức là biến `i`. Do đó, sau khi gọi hàm `change`, giá trị của `i` đã bị thay đổi thành 10. Lệnh `printf(“ %d”, i);` sẽ in ra giá trị mới của `i`, là 10.

Câu hỏi liên quan