JavaScript is required

Đầu ra là gì? #include #include int foo(); void main() { int i = 0; for (foo(); i == 1; i = 2) printf("In for loop\n"); printf("After loop\n"); getch(); } int foo() { return 1; }

A.

Trong vòng lặp for

B.

Sau vòng lặp

C.

Lỗi biên dịch

Trả lời:

Đáp án đúng: B


Đầu tiên, hàm `foo()` được gọi trong phần khởi tạo của vòng lặp `for`. Hàm này trả về 1, nhưng giá trị trả về không được gán cho biến nào, vì vậy nó không ảnh hưởng đến điều kiện vòng lặp. Điều kiện lặp là `i == 1`. Ban đầu, `i` được khởi tạo là 0. Do đó, điều kiện `i == 1` là sai ngay từ đầu, và vòng lặp `for` không được thực thi. Sau vòng lặp, dòng `printf("After loop\n");` được thực thi, in ra "After loop\n". Vậy đáp án đúng là B.

Câu hỏi liên quan