JavaScript is required

Đầu ra của chương trình là gì? #include #include int N = 10; void main() { int N = 20; printf("N = %d", N); getch(); }

A.

A.N = 20

B.

B.N = 10

C.

Lỗi

D.

Không có đầu ra

Trả lời:

Đáp án đúng: A


Trong chương trình C, biến `N` được khai báo hai lần: một lần ở phạm vi toàn cục (global scope) với giá trị là 10, và một lần nữa bên trong hàm `main()` (local scope) với giá trị là 20. Khi một biến được khai báo trong một phạm vi cục bộ, nó sẽ che (shadow) biến cùng tên ở phạm vi toàn cục bên trong phạm vi đó. Do đó, khi hàm `printf()` được gọi bên trong `main()`, nó sẽ sử dụng biến `N` được khai báo cục bộ trong `main()`, có giá trị là 20. Vì vậy, đầu ra của chương trình sẽ là "N = 20".

Câu hỏi liên quan