28.4. Có thể khai báo một biến bên trong hàm trùng tên với biến đã khai báo trước đó bên ngoài hàm...

Câu hỏi:

28.4. Có thể khai báo một biến bên trong hàm trùng tên với biến đã khai báo trước đó bên ngoài hàm không?

Câu trả lời:
Người trả lời: GV. Đỗ Hồng Hạnh
Cách 1:
Để khai báo một biến bên trong hàm trùng tên với biến đã khai báo trước đó bên ngoài hàm, bạn chỉ cần đặt một tên biến giống nhau. Khi đó, biến bên trong hàm sẽ được ưu tiên sử dụng trước, và biến bên ngoài hàm sẽ không bị ảnh hưởng.

Ví dụ:
```cpp
#include

int x = 5; // Biến x bên ngoài hàm

void test() {
int x = 10; // Biến x bên trong hàm
std::cout << "Gia tri cua x ben trong ham: " << x << std::endl;
}

int main() {
test();
std::cout << "Gia tri cua x ben ngoai ham: " << x << std::endl;
return 0;
}
```

Kết quả sẽ là:
```
Gia tri cua x ben trong ham: 10
Gia tri cua x ben ngoai ham: 5
```

Cách 2:
Để tránh sự nhầm lẫn giữa biến bên trong và biến bên ngoài, bạn có thể sử dụng phạm vi (scope) cho biến bên trong hàm bằng cách sử dụng dấu ngoặc nhọn `{}`.

Ví dụ:
```cpp
#include

int x = 5; // Biến x bên ngoài hàm

void test() {
int x = 10; // Biến x bên trong hàm
{
int x = 15; // Biến x trong phạm vi nhỏ hơn
std::cout << "Gia tri cua x ben trong pham vi nho hon: " << x << std::endl;
}
std::cout << "Gia tri cua x ben trong ham: " << x << std::endl;
}

int main() {
test();
std::cout << "Gia tri cua x ben ngoai ham: " << x << std::endl;
return 0;
}
```

Kết quả sẽ là:
```
Gia tri cua x ben trong pham vi nho hon: 15
Gia tri cua x ben trong ham: 10
Gia tri cua x ben ngoai ham: 5
```

Câu trả lời cho câu hỏi "Có thể khai báo một biến bên trong hàm trùng tên với biến đã khai báo trước đó bên ngoài hàm không?" là: Có, có thể khai báo một biến bên trong hàm trùng tên với biến đã khai báo trước đó bên ngoài hàm, nhưng để tránh sự nhầm lẫn, bạn có thể sử dụng phạm vi cho biến bên trong hàm.
Bình luận (0)
Nhấn vào đây để đánh giá
Thông tin người gửi
0.08377 sec| 2201.273 kb