Quảng cáo
2 câu trả lời 591
Khi chương trình được thực thi, output sẽ là:
```
a= 20
a= 20
```
Giải thích:
- Ban đầu, biến global `a` được gán giá trị là 10.
- Sau đó, hàm `F()` được gọi, trong đó biến global `a` được gán giá trị là 20.
- Tiếp theo, hàm `G()` không được gọi, vì vậy giá trị của `a` vẫn là 20.
- Cuối cùng, sau khi hàm `F()` được gọi, giá trị của `a` là 20.
Khi chạy chương trình trên, đầu tiên ta khai báo hàm `F`, trong hàm này ta sử dụng biến toàn cục `a` thông qua từ khóa `global` và gán giá trị `20` cho `a`. Tiếp theo, ta khai báo hàm `G`, trong hàm này ta cũng sử dụng biến toàn cục `a` và gán giá trị `30` cho `a`. Sau đó, chương trình in ra giá trị của biến `a` trước khi gọi hàm `F`, nên giá trị của `a` sẽ là `10` (đã được gán trước đó). Tiếp theo, khi gọi hàm `F`, giá trị của `a` sẽ được gán là `20`. Cuối cùng, chương trình in ra giá trị của `a` sau khi gọi hàm `F`, nên giá trị của `a` sẽ là `20`.
Vậy output của chương trình là:
```
a= 10
a= 20
```
Với lưu ý rằng giá trị của biến toàn cục `a` thay đổi sau khi gọi hàm `F`, do đó hàm `G` không được gọi trong chương trình này.
Quảng cáo
Bạn cần hỏi gì?
Câu hỏi hot cùng chủ đề
-
Đã trả lời bởi chuyên gia
55505 -
Đã trả lời bởi chuyên gia
31437 -
Đã trả lời bởi chuyên gia
29981
