Đoạn chương trình sau sẽ in ra kết quả như thế nào?
class array_output
{
public static void main(String args[])
{
int array_variable [] = new int[10]
for (int i = 0; i < 10; ++i)
{
array_variable[i] = i;
System.out.print(array_variable[i] + " ");
i++;
}
}
}
Chọn một:
>
Trả lời:
Đáp án đúng: A
Đoạn chương trình khởi tạo một mảng `array_variable` gồm 10 phần tử kiểu `int`. Vòng lặp `for` duyệt qua mảng, gán giá trị cho mỗi phần tử bằng chỉ số của nó (`array_variable[i] = i`). Tuy nhiên, sau mỗi lần in giá trị của phần tử, biến `i` lại tăng thêm 1 đơn vị (`i++`) ngay trong thân vòng lặp, bên cạnh việc tăng `i` ở phần cập nhật của vòng lặp `for` (`++i`). Điều này dẫn đến việc vòng lặp bỏ qua một nửa số phần tử của mảng.
Cụ thể:
- i = 0: `array_variable[0] = 0`, in ra 0, sau đó `i++` (i thành 1).
- i = 2: `array_variable[2] = 2`, in ra 2, sau đó `i++` (i thành 3).
- i = 4: `array_variable[4] = 4`, in ra 4, sau đó `i++` (i thành 5).
- i = 6: `array_variable[6] = 6`, in ra 6, sau đó `i++` (i thành 7).
- i = 8: `array_variable[8] = 8`, in ra 8, sau đó `i++` (i thành 9).
Vậy kết quả in ra là: 0 2 4 6 8