JavaScript is required

Kết quả của chương trình sau là gì?
#include
void main() {
int i, k;
for (i = 1;; i++) k = 5;
printf(“ % d”, i);
};

A.
A. 0
B.
B. 5
C.
C. Vòng lặp vô hạn
D.
D. Kết quả khác
Trả lời:

Đáp án đúng: C


Chương trình C này có một vòng lặp `for` không có điều kiện dừng (`;;`). Điều này có nghĩa là vòng lặp sẽ tiếp tục chạy mãi mãi. Bên trong vòng lặp, biến `k` được gán giá trị `5` trong mỗi lần lặp, nhưng điều này không ảnh hưởng đến giá trị của `i`. Biến `i` được tăng lên mỗi lần lặp. Tuy nhiên, lệnh `printf` nằm *bên ngoài* vòng lặp, và vòng lặp này không bao giờ kết thúc, do đó lệnh `printf` không bao giờ được thực thi. Do đó, chương trình sẽ rơi vào vòng lặp vô hạn và không in ra bất cứ giá trị nào.

Câu hỏi liên quan