What does the following program display?

4 phương ánCó giải thích
Đề bài
#include <stdio.h>
int main() {
    int arr[] = {3, 6, 9, 12};
    for (int i = 3; i >= 0; i -= 2)
        printf("%d ", arr[i]);
    return 0;
}

Các phương án trả lời

Chọn một phương án
Lời giảiChọn phương án để mở
Đáp án đúng: "12 6". Vòng lặp khởi tạo i bằng 3, điều kiện là i không nhỏ hơn 0, và mỗi lượt i giảm đi 2. Lượt đầu i bằng 3 nên in phần tử cuối mảng là 12; lượt sau i bằng 1 nên in phần tử thứ hai là 6; tiếp đó i thành -1, điều kiện sai nên dừng. Hai bước đã đủ vì bước nhảy 2 làm vòng lặp chỉ chạm các chỉ số lẻ. Lựa chọn "3 9" là kết quả khi đi từ chỉ số 0 tăng dần 2 đơn vị, tức đọc các chỉ số chẵn theo chiều thuận. Lựa chọn "12 6 3" thêm phần tử đầu mảng, nhưng từ chỉ số 1 giảm 2 sẽ ra -1 chứ không ghé chỉ số 0. Lựa chọn "12 9 6" ứng với bước giảm 1 đơn vị rồi dừng sớm, không khớp với phép giảm 2 viết trong mã.

Cùng phần 3

Xuất hiện trong 1 bộ đề